DO-178B目标的定量分析
DO-178B 目标的定量目标的定量目标的定量目标的定量分析分析分析分析
王云明
[文章来源:http://www.yunmingwang.cn/blog/article.asp?id=167]
[欢迎转载,转载时请保留该声明]
关键词:DO-178B,适航认证,符合性审查,贡献系数,代价系数,目标指数
摘要摘要摘要摘要
本文主要对 DO-178B 标准中所规定的目标进行了定量分析。我们首先给出了定量分析
的基础,然后给出了定量分析的方法,并根据该方法对每个目标进行了分析,给出了分析的
结果...
DO-178B 目标的定量目标的定量目标的定量目标的定量分析分析分析分析
王云明
[文章来源:http://www.yunmingwang.cn/blog/article.asp?id=167]
[欢迎转载,转载时请保留该声明]
关键词:DO-178B,适航认证,符合性审查,贡献系数,代价系数,目标指数
摘要摘要摘要摘要
本文主要对 DO-178B 标准中所规定的目标进行了定量分析。我们首先给出了定量分析
的基础,然后给出了定量分析的方法,并根据该方法对每个目标进行了分析,给出了分析的
结果。通过仔细解读我们的分析结果,我们发现得到的结果是非常合理的,在依据 DO-178B
标准进行军用飞机的研制或符合性审查的时候,该分析结果具有良好的指导意义。
1. 问
的提出问题的提出问题的提出问题的提出
DO-178B 是针对民用航空机载软件的开发和适航认证所制订的标准。它针对不同级别的
软件,定义了一系列的目标、这些目标的独立性要求、实现这些目标应生成的生命周期数据
(lifecycle date),并定义了这些数据的控制类别(Control Category)。
对于民用飞机来说,其机载软件必须通过 DO-178B 的适航认证适航认证适航认证适航认证((((Airworthiness
Certification))))。判别是否可以通过适航认证的一个主要依据是,针对软件的级别,检查软件
的研制过程是不是满足了标准所规定的目标(及其独立性、控制类别等等)。例如,对于 A
级的软件来说,DO-178B 标准中所规定的 66 个目标必须完全达到,缺一不可。
对于军用飞机来说,不同的国家会应用不同的标准。但是,目前的一个趋势是,许多国
家姓“军”项目也逐渐开始走 DO-178B 路线。比较典型的有美国、法国、俄罗斯和中国(具
体军机名称不便公开透露,对此有兴趣的朋友可以与我私下交流)。与民机不同的是,军机
不需要做严格意义上、要求国际认可的“适航认证”,取而代之的通常是根据 DO-178B 标准
做一个符合性符合性符合性符合性((((Compliance))))审审审审查查查查。
国际普遍认可的一个观点是:军用飞机的安全性要求没有民用飞机那么高。为了抢占军
事优势,每个国家都希望在军用飞机的安全性和研制周期/研制成本上寻求一个平衡:既要
让飞机足够安全,又要足够快地以足够低的成本研制出新式武器。正是由于这个原因,我们
需要对 DO-178B 标准所规定的 66 个目标进行一些定性或定量的分析,从而在军用飞机的研
制和符合性审查的时候着重关注一些特别重要的、对软件安全性的贡献特别大的、而实施过
程中所化费的代价又相对较少的目标。
本人参考了相关的资料,并与国外权威专家(包括一些曾在 FAA 和波音公司从事过数
十年工作的 DER)进行了讨论,对 DO-178B 标准的 66 个目标做了一个定量分析,得到若干
结果。这个结果将会对中国在军事项目中依照 DO-178B 标准进行软件研制和符合性审查等
工作起到一定的参考和指导作用。
2. 定量分析定量分析定量分析定量分析的的的的基础基础基础基础
2.1. 贡献系数贡献系数贡献系数贡献系数
首先,我们对 DO-178B 标准所规定的每个目标定义一个“贡献系数”。定义这个系数的
主要依据是目标的重要性以及实施这个目标对软件安全性的所做出的贡献。
贡献系数 表示意义
3 极其重要,贡献极其大
2 很重要,贡献很大
1 一般重要,贡献一般大
2.2. 代价系数代价系数代价系数代价系数
然后,我们对每个目标定义一个“代价系数”。定义这个系数的主要依据是实施这个目
标的所需要付出的人力、物力、时间等方面的代价,以及实施这个目标的难度。
代价系数 表示意义
3 代价或难度很大
2 代价或难度比较大
1 代价或难度不大
3. 定量定量定量定量分析分析分析分析的方法的方法的方法的方法
根据每个目标的贡献系数和代价系数,我们定义一个“目标指数”,如下表所示:
目标指数 贡献系数 3 2 1
代价系数
3 3 2 1
2 3 3 2
1 3 3 3
严格使用前面定义的贡献系数的文字描述(极其重要、很重要、一般重要)和代价系数
的文字描述(很大、比较大、不大),我们可以用自然语言来很方便地解读目标指数的定义,
详见下表:
目标指数 表示意义 指数特征 自然语言解读(针对军用飞机)
3 重点关注
贡献系数/
代价系数
≥1
� 这个目标极其重要,或者对安全的贡献极其大,
不论实施该目标的代价有多大,都要重点关注
� 这个目标很重要,或者对安全的贡献很大,实施
这个目标的工作量却不是很大,我们要重点关注
� 这个目标一般重要,或者对安全的贡献一般大,
但实施这个目标的工作量却并不大,我们也要重
点关注
2 值得关注
贡献系数/
代价系数
≥0.5
� 这个目标很重要,或者对安全的贡献很大;实施
这个目标的工作量也很大,值得我们关注
� 这个目标一般重要,或者对安全的贡献一般大;
实施这个目标的工作量却不大,值得我们关注
1 建议关注
贡献系数/
代价系数
<0.5
� 这个目标一般重要,或者对安全的贡献一般大,
但实施这个目标的代价很大,建议在条件允许的
情况下适当关注
从目标指数的定义和解读可以很直观地看出:目标指数越高,在军用飞机机载软件的研
制和符合性审查时越应该得到关注、贯彻、实施和审核。
4. 定量定量定量定量分析分析分析分析的结果的结果的结果的结果
根据前面所述的分析基础和分析方法,我们得到了如下的分析结果。这里,我们略去了
用于分析的原始数据。
目标指数 DO-178B 标准中规定的目标
1 Test coverage of software structure (modified condition/decision) is achieved.
2
High-level requirements are compatible with target computer.
Low-level requirements are compatible with target computer.
Software architecture is compatible with target computer.
Software architecture is verifiable.
Source Code is verifiable.
Test coverage of low-level requirements is achieved.
3 所有其余的目标
5. 分析分析分析分析结果的解读结果的解读结果的解读结果的解读
以上的结果完全是通过定量分析得到的。该分析结果的合理性是我们接下来要着重探讨
的一个问题。在这一章里,我们结合多方面的信息,来仔细地解读我们的分析结果,以阐述
其合理程度。
5.1. 目标指数为目标指数为目标指数为目标指数为 3
DO-178B 所规定的 66 个目标中,有 59 个目标的指数为 3,这说明 DO-178B 标准所规定
的目标绝大多数对软件安全性保障来说,还是有很有效果,需要我们重点关注的。或许,正
是由于 DO-178B 的绝大多数目标都是很有效果的,才使得各国的军用飞机也开始走起了
DO-178B 的路线。
5.2. 目标指数为目标指数为目标指数为目标指数为 1
DO-178B 标准中只有一个目标的指数为 1,也即化费的代价很大,但取得的效果却一般,
这个目标就是 MC/DC 覆盖。仔细分析 DO-178B 标准对 A 级软件和 B 级软件的目标要求,如
果不考虑独立性和控制类别等差异,可以发现,A 级软件需要达到 66 个目标,而 B 级软件
需要达到 65 个目标,其中唯一的差异就是 MC/DC 覆盖。也就是说,DO-178B 标准对 B 级软
件已经不再要求 MC/DC 覆盖。这本身也在一定程度上说明了 MC/DC 覆盖这个目标没有其它
目标那么值得我们化巨大的代价去关注。
实现 MC/DC 覆盖这个目标的代价已经从实践中得到了充分的验证。我们还可以从理论
的角度来说说这个代价到底有多大。DO-178B 标准中定义了三个关于结构覆盖率的目标,即
语句覆盖、判定覆盖、MC/DC 覆盖。从理论上分析,前二个目标所要求的测试用例的数量
为 O(N),其中 N 为判定的个数;而 MC/DC 覆盖所要求的测试用例的数量为 exp(N),也即随
着 N 的增长而指数增长,其中 N 是条件的个数(通常远大于判定的个数)。所以说,实现
MC/DC 覆盖所付出的代价与实现语句覆盖或判定覆盖的代价完全不是同一个数量级。这也
从理论上解释了语句覆盖和判定覆盖二个目标的指数都是 3,而 MC/DC 覆盖的指数则突然
降为 1 的原因。
从实践的角度,我们也可以从二个方面来合理地解释 MC/DC 覆盖的指数为 1 的原因:
1. 人们在软件研制过程中得到的经验是,在实施 MC/DC 覆盖以前,大多数的问题
已经通过其它的验证方式(多层次的一致性验证、测试、语句覆盖、判定覆盖等
等)发现。而因为实施了 MC/DC 覆盖才发现的新问题其实并不是太多。并且,
有些新发现的问题对机载软件的安全性来说意义并不是太大:为达到100%MC/DC
覆盖,要么测试用例并没有来源与需求,要么其解决(Resolution)方法只是作些
说明,虽然规范了软件研制的流程,但并没有提高机载软件的安全性。
2. 由于实施 MC/DC 覆盖的难度巨大,认证机构或 DER 在这一点上放松了要求:并
不要求对整体机载软件进行 MC/DC 覆盖分析,而只需要对单个独立的功能模块
达到这个要求。既然对民用飞机 A 级的适航认证都已经放松了这个要求,那么对
于军用飞机的符合性审查又何尝不可呢。
5.3. 目标指数为目标指数为目标指数为目标指数为 2
DO-178B 标准中有 6 个目标经我们的定量分析其目标指数为 2。这些目标实现起来具有
一定的难度或需要付出一定的代价,然而它们的实施对机载软件的安全性所起的作用却并不
是“极其大”。也就是说,如果在一定条件下适当放松了这些目标,对机载软件的安全性不
太会带来极其大的影响。这一表述是前面定量分析的结果,而它们的合理性则可以从另外的
角度来得到让人放心的诠释。
� 首先来看前面的三条,它们分别是高层需求、低层需求、软件结构与目标机的兼容性。
如果我们在一定条件下放松这三个验证目标,导致的结果可能会推迟发现问题,但不至
于遗漏应该发现的问题。因为在后续的工作中还有另外一个目标:可执行目标代码与目
标机是兼容的(Executable Object Code is compatible with target computer),它的目标指
数是 3,是必须实施和需要重点关注的目标。可以说,高层需求、低层需求、软件结构
与目标机的兼容性检查所能发现的问题,最终都可以通过可执行目标代码与目标机的兼
容性检查发现。所以说,放松了这三个验证目标,最坏的结果是延迟发现问题,但不至
对机载软件的安全性造成隐患。然而,从另外一个侧面来说,要进行高层需求、低层需
求、软件结构与目标机的兼容性检查,其难度却比可执行目标代码与目标机的兼容性检
查大得多。因此,定量分析把这三条目标的指数定义成 2,通过解读是完全合理,也是
可以接受的。
� 再来看接下来的二个目标:软件结构、源代码是可验证的。DO-178B 中还规定了另外二
个可验证性的目标,也即高层需求和低层需求的可验证性,它们的指数为 3,是要求重
点关注和实现的。如果高层需求和低层需求已经是可验证的,那么根据高层需求设计的
软件结构和根据低层需求编写的源代码几乎可以说很自然地就是可验证的。因此,把软
件结构、源代码的可验证性定义成了 2,也是可以接受的。
� 在对定量分析的结果做出合理性解读的过程中,最受争议的就是最后这一条:低层需求
的测试覆盖率。关于这一条目标,我觉得非常有必要从软件研制和符合性审查二个角度
分开讨论。
首先,DO-178B 标准中有这样一段话:
“If a test case and its corresponding test procedure are developed and executed for
hardware/software integration testing or software integration testing and satisfy the
requirements-based coverage and structural coverage, it is not necessary to
duplicate the test for low level testing. Substituting nominally equivalent low-level
tests for high-level tests may be less effective due to the reduced amount of overall
functionality tested.”
这段文字认为,如果在软件/硬件集成测试,或者软件/软件集成测试中,设计了测试
用例,定义了测试过程,进行了测试,并达到了相应的需求覆盖率和结构覆盖率,那么
没有必要去做(重复性的)低层测试。由此可见,低层需求的覆盖率相对于高层需求的
覆盖率(目标指数为 3)并不显得“极其重要”,因此,在做符合性审查的时候可以更
多地关注二个集成测试。
但是,从另外一个角度来说,在我国相关单位的软件研制的过程中,依据低层需求写测
试用例,对相应的软件模块进行测试,度量低层需求的覆盖率是一个可行的、常用的,
而且是比较有效的验证方法。因此,对机载软件的研制方来说,这个目标是很值得实施
的,尽管它的目标指数为 2。
6.
总结总结总结
本文首先指出,多个国家的军用飞机开始走起了 DO-178B 路线。对于军用飞机来说,
我们不需要做一个严格意义上的适航认证,取而代之的是符合性审查。因此我们有必要对
DO-178B 的 66 个目标做一个系统性的评估,以便在军用飞机研制和符合性审查过程中有针
对性地侧重。
本文给出了对 66 个目标进行定量分析的基础、定量分析的方法,以及定量分析的结果。
最后,对分析结果的合理性进行了多个角度的解读和诠释。
这个分析的结果可以对中国军用飞机依据 DO-178B 标准进行研制和符合性审查具有一
定的参考价值和指导意义。
本文档为【DO-178B目标的定量分析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。