一种面向航天软件的软件可信性度量方法

xiaoxiao2020-7-22  14

一种面向航天软件的软件可信性度量方法
【专利摘要】一种面向航天软件的软件可信性度量方法,通过依据软件生命周期的阶段划分,建立了由开发阶段可信证据、提交阶段可信证据、应用阶段可信证据构成的软件可信证据模型。确定各阶段可以提供软件可信证据的一系列技术或措施。然后根据航天软件可信等级定义,确定目标软件符合的可信等级以及评为该等级的合理度,及其应当进行的改进。与现有可信分级技术相比,本发明结合航天软件的属性,从软件的整个生命周期出发,为软件可信等级评定提供更为明确的依据和可量化的度量方法,从而使技术专家和管理者在科研管理活动中很好地结合起来,提高了科研及工程管理的精确度和科学性,有力地保证了航天型号软件的高可信性。
【专利说明】一种面向航天软件的软件可信性度量方法
【技术领域】
[0001]本发明涉及一种软件可信性度量方法,尤其是面向航天高可信软件的软件可信性度量方法,属于非专用特定变量的测量【技术领域】。
【背景技术】
[0002]软件可信性,指软件按照期望提供安全可靠服务的能力,是人们在长期的工程实践中对软件质量的评价总结。航天型号软件所关注的可信属性包括“可靠性、失效安全性、保密安全性、可生存性、容错性、实时性”等特性。
[0003]当前,航天工业处在高速发展时期,航天型号任务越来越密集,高密度的发射任务对研制效率和质量提出了更高的要求。另一方面,弹箭星船器各系统对软件的依赖程度越来越高,由于软件失效导致系统故障的事件也屡屡出现。软件作为航天型号系统重要的组成部分,具有功能关键、运行环境苛刻、可靠性安全性要求高等特点,这些特征对软件的可信性提出了更高的要求,软件可信性已直接关系到型号任务的成败。
[0004]软件的可信性是用户所关心的重要软件特性,高可信软件的设计与生产已经成为当前航天高安全软件产业发展的重要目标。软件可信性度量是软件可信性管理的重要支持手段,只有借助于可信性度量,进行必要的软件可信性测量,获得有关数据,才能使软件可信性管理做到心中有数,进而对被测量软件的可信性有更好的认识、控制和改进。
[0005]如何度量型号软件的高可信,进而保证整个型号任务的高可信,已成为航天软件重点关注且亟待解决的问题。航天软件“可信度量”并非仅是度量软件代码或软件最终产品的可信性,更为重要的是指导型号软件开发过程如何达到预设的可信性。

【发明内容】

[0006]本发明的技术解决问题是:弥补现有可信性度量方法在航天型号软件领域的空白,提供一种面向航天高可信软件的软件可信性度量方法,本发明通过依据软件生命周期的阶段划分,建立了由开发阶段可信证据、提交阶段可信证据、应用阶段可信证据构成的软件可信证据模型,同时给出了一种基于可信证据的度量方法,解决了级别之间容易混淆的问题。
[0007]本发明的技术解决方案是:
[0008]一种面向航天软件的软件可信性度量方法,步骤如下:
[0009](I)确定目标航天软件生命周期的各阶段划分为:软件开发阶段、软件提交阶段和软件应用阶段;软件开发阶段依次包括10个部分:软件需求规格说明、软件体系结构设计、软件支持工具和编程语言、详细设计、软件模块测试和集成测试、软件确认测试、系统联试、软件更改、软件验证与确认以及软件安全性分析;
[0010]软件提交阶段包括两个部分:功能特性证据和性能特性证据;
[0011](2)根据步骤(I)中确定出来的目标航天软件生命周期的各阶段,确定各阶段对应的软件可信证据,即采用的技术或措施;[0012]软件开发阶段的软件可信证据:软件开发阶段的证据是在软件生产过程中的需求分析、设计以及编码与测试过程中,能够提供的与保障软件可信性相关的一系列证据,具体为:
[0013]软件需求规格说明部分对应的技术或措施为:计算机辅助规格说明工具、逻辑/功能块图、顺序框图、有限状态机、时间Petri网和形式化方法;
[0014]软件体系结构设计部分对应的技术或措施为:故障检测和诊断、错误检测和纠错编码、失效断言程序设计、编程多样性、重试故障恢复机制、记录执行情况、适度降级、结构化方法和计算机辅助设计工具;
[0015]软件支持工具和编程语言部分对应的技术或措施为:经过认证的工具和经过认证的翻译程序;
[0016]详细设计部分对应的技术或措施为:结构化方法、计算机辅助设计工具、防卫性编程、软件模块规模限制、信息隐藏/封装、子程序和函数的单入口 /单出口、完全定义的接口、设计和编码标准以及结构化程序设计;
[0017]软件模块测试和集成测试部分对应的技术或措施为:功能测试、基于结构的测试、性能测试、接口测试以及数据记录和分析;
[0018]软件确认测试部分对应的技术或措施为:功能测试、性能测试和接口测试;
[0019]系统联试部分对应的技术或措施为:模拟/建模、功能测试、性能测试和接口测试;
[0020]软件更改部分对应的技术或措施为:影响分析、重新验证变更的软件模块、重新验证受影响的软件模块、重新确认完整系统、软件配置管理以及数据记录和分析;
[0021]软件验证与确认部分对应的技术或措施为:边界值分析、控制流分析、数据流分析、走查/设计评审、基于故障注入的软件分析(静态)、依据边界值分析的测试用例执行、性能测试、运行时错误检查、数据流测试、基于故障注入的软件测试(动态)、等价类别和输入分区测试以及基于结构的测试;
[0022]软件安全性分析部分对应的技术或措施为:故障树分析、失效分析、影响和关键度分析以及不同软件的共因失效分析。
[0023]软件提交阶段的功能特性证据:功能特性证据提供了软件对软件需求规格说明书中规定的功能要求的满足程度;
[0024]性能特性证据:性能特性证据提供了软件对软件需求规格说明书中规定的性能要求的满足程度;
[0025]软件应用阶段的可信证据是在软件实际使用过程中形成的与软件可信性相关的证据;
[0026](3)根据步骤(I)和步骤(2),确定航天软件的可信证据表;
[0027](4)根据航天软件可信等级的定义,初步确定待度量的目标航天软件的可信等级k ;
[0028](5)如果步骤(4)中初步确定的目标航天软件的可信等级k = 5,则该目标软件的最终可信等级为5,且合理度为I ;如果步骤(4)中初步确定的目标航天软件的可信等级k〈5,则进入步骤(6);
[0029](6)令k的值加I,确定目标软件符合k可信级别的技术或措施的满足程度Pkij:[0030]对于强制使用的技术或措施,如果目标软件中使用了该技术或措施,则相应的Pkij=1,否者 Pkij = O ;
[0031]对于推荐使用的技术或措施,如果软件中使用了该技术或措施,则相应的Pkij =
0.8,否者 Pkij = 0.2 ;
[0032]对于是否采用不做要求的技术或措施,无论目标软件是否使用了该技术或措施,始终 Pkij = O ;
[0033](7)根据步骤(6)中得到的结果,通过如下公式计算第i阶段符合k等级要求的合理度Rki:

[0034]
【权利要求】
1.一种面向航天软件的软件可信性度量方法,其特征在于步骤如下: (1)确定目标航天软件生命周期的各阶段划分为:软件开发阶段、软件提交阶段和软件应用阶段;软件开发阶段依次包括10个部分:软件需求规格说明、软件体系结构设计、软件支持工具和编程语言、详细设计、软件模块测试和集成测试、软件确认测试、系统联试、软件更改、软件验证与确认以及软件安全性分析; 软件提交阶段包括两个部分:功能特性证据和性能特性证据; (2)根据步骤(1)中确定出来的目标航天软件生命周期的各阶段,确定各阶段对应的软件可信证据,即采用的技术或措施; 软件开发阶段的软件可信证据:软件开发阶段的证据是在软件生产过程中的需求分析、设计以及编码与测试过程中,能够提供的与保障软件可信性相关的一系列证据,具体为: 软件需求规格说明部分对应的技术或措施为:计算机辅助规格说明工具、逻辑/功能块图、顺序框图、有限状态机、时间Petri网和形式化方法; 软件体系结构设计部分对应的技术或措施为:故障检测和诊断、错误检测和纠错编码、失效断言程序设计、编程多样性、重试故障恢复机制、记录执行情况、适度降级、结构化方法和计算机辅助设计工具; 软件支持工具和编程语言部分对应的技术或措施为:经过认证的工具和经过认证的翻译程序; 详细设计部分对应的技术或措施为:结构化方法、计算机辅助设计工具、防卫性编程、软件模块规模限制、信息隐藏/封装、子程序和函数的单入口 /单出口、完全定义的接口、设计和编码标准以及结构化程序设计; 软件模块测试和集成测试部分对应的技术或措施为:功能测试、基于结构的测试、性能测试、接口测试以及数据记录和分析; 软件确认测试部分对应的技术或措施为:功能测试、性能测试和接口测试; 系统联试部分对应的技术或措施为:模拟/建模、功能测试、性能测试和接口测试;软件更改部分对应的技术或措施为:影响分析、重新验证变更的软件模块、重新验证受影响的软件模块、重新确认完整系统、软件配置管理以及数据记录和分析; 软件验证与确认部分对应的技术或措施为:边界值分析、控制流分析、数据流分析、走查/设计评审、基于故障注入的软件分析(静态)、依据边界值分析的测试用例执行、性能测试、运行时错误检查、数据流测试、基于故障注入的软件测试(动态)、等价类别和输入分区测试以及基于结构的测试; 软件安全性分析部分对应的技术或措施为:故障树分析、失效分析、影响和关键度分析以及不同软件的共因失效分析; 软件提交阶段的功能特性证据:功能特性证据提供了软件对软件需求规格说明书中规定的功能要求的满足程度; 性能特性证据:性能特性证据提供了软件对软件需求规格说明书中规定的性能要求的满足程度; 软件应用阶段的可信证据是在软件实际使用过程中形成的与软件可信性相关的证据;(3)根据步骤(1)和步骤(2),确定航天软件的可信证据表; (4)根据航天软件可信等级的定义,初步确定待度量的目标航天软件的可信等级k; (5)如果步骤(4)中初步确定的目标航天软件的可信等级k= 5,则该目标软件的最终可信等级为5,且合理度为I ;如果步骤(4)中初步确定的目标航天软件的可信等级k〈5,则进入步骤(6); (6)令k的值加I,确定目标软件符合k可信级别的技术或措施的满足程度Pkij: 对于强制使用的技术或措施,如果目标软件中使用了该技术或措施,则相应的Pkij =I,否者 Pkij = O ; 对于推荐使用的技术或措施,如果软件中使用了该技术或措施,则相应的Pku = 0.8,否者 Pkij = 0.2 ; 对于是否采用不做要求的技术或措施,无论目标软件是否使用了该技术或措施,始终Pkij = ο ; (7)根据步骤(6)中得到的结果,通过如下公式计算第i部分符合k等级要求的合理度Rk1:
2.根据权利要求1所述的一种面向航天软件的软件可信性度量方法,其特征在于:所述可信等级的具体定义为: a)第I级所述目标软件未采用表1中技术或措施中的任何一项,该目标软件不能判定可信性,则此时该目标软件的可信等级定义为第I级,即可信等级k = I ; b)第2级 目标软件开发阶段中采用了所述可信证据表中第2级所规定的所有强制使用的技术或措施,且该目标软件的检出错误密度不超过KAEL0C1,则该目标软件的可信等级定义为第2级,即k = 2 ; c)第3级 目标软件开发阶段中采用了可信证据表中第3级所规定的所有强制使用的技术或措施,且该目标软件的检出错误密度不超过KAEL0C2,则该目标软件的可信等级定义为第3级,即k = 3 ; d)第4级 目标软件开发阶段中采用了可信证据表中第4级所规定的所有强制使用和推荐使用的技术或措施,且该目标软件的检出错误密度不超过KAEL0C3,则该目标软件的可信等级定义为第4级,即k = 4; e)第5级 目标软件开发阶段中采用了可信证据表中第5级所规定的所有强制使用和推荐使用的技术或措施,且该目标 软件的检出错误密度不超过KAEL0C3,则该目标软件的可信等级定义为第5级,即k = 5。
3.根据权利要求2所述的一种面向航天软件的软件可信性度量方法,其特征在于:所述可信证据表,具体如下:
4.根据权利要求2所述的一种面向航天软件的软件可信性度量方法,其特征在于:所述KAEL0C1、KAEL0C2和KAEL0C3为检出错误密度等级,具体为: KAEL0C1:表示中国航天软件安全关键级别为C级或D级的软件每千行源代码的剩余错误数为[O,2.39]; KAEL0C2:表示中国航天软件安全关键级别为B级的软件每千行源代码的剩余错误数为(0.32,0.92]; KAEL0C3:表示中国航天软件安全关键级别为A或B级的软件每千行源代码的剩余错误数为[O,0.32 ]。
【文档编号】G06F9/44GK103970537SQ201410178237
【公开日】2014年8月6日 申请日期:2014年4月29日 优先权日:2014年4月29日
【发明者】赵文波, 杨海成, 张刚, 刘军, 经小川, 张伟, 庞涪川, 梁光成, 郑重 申请人:探月与航天工程中心, 北京信息控制研究所

最新回复(0)