DO-178“机载系统和设备认证中的软件考虑”标准由无线电技术委员会(RTCA)公布。由于RTCA不是官方政府机构,其建议可能不被视为官方政府政策声明,除非某一政府组织或机构对建议所涉及的任何事项拥有法定管辖权。在实践中,所有政府和机构都批准了这些民用航空标准。
DO-178B和DO-178C标准也由欧洲民用航空设备组织(EUROCAE)分别以ED-12B和ED-12C公布。标准内容相同,以下只用DO-178指代。
DO-178B于1992年出版,并于2011年被DO-178C取代,并附加了额外的标准DO-330“软件工具合格审定的考虑”。
DO-178标准要求根据系统故障的后果为所有机载软件分配设计保证等级(DAL)。这些等级从最低E“无影响”到最高A“灾难”。标准记录了许多过程目标,这些目标根据软件等级的不同而变化。
DO-178标准不允许对工具进行预认证(例如,通过SGS-TÜV认证Cantata和QA-C/C++的标准)。 在每个项目中,DO-178认证申请人必须具备在该特定项目上使用的工具的资格。 QA Systems动态和静态测试工具被归类为DO-178软件验证工具。
DO-178B和DO-178C(及其参考标准DO-330“软件工具合格审定的考虑”)之间的工具认证过程有所不同。
DO-178B和DO-178C的工具认证套件可用于简化客户的认证途径。 这些套件提供了QA Systems的动态和静态测试工具——从等级E到A——的合格审定所需的数据和证据,以及对工具合格审定过程的指导。
有关工具认证工具包的更多信息,请联系我们。
DO-178建议要做低级的(单元)测试、软件集成测试和硬件-软件集成测试。Cantata使开发人员能够在主机和嵌入式目标平台上验证符合DO-178标准的C和C++代码。
Cantata通过自动化完成以下内容帮助加速符合标准的动态测试要求:
测试框架生成
测试用例生成
测试执行
结果诊断和报告生成
我们的DO-178B和DO-178C标准简报跟踪了DO-178B和DO-178C的验证目标,确定了Cantata支持的范围以及Cantata如何支持这些目标。
请联系我们了解Cantata关于 DO-178B或 DO-178C的更多信息
下表列出了DO-178C按等级划分的动态测试目标以及Cantata对它们的支持:
目标 | A | B | C | D | Cantata |
---|---|---|---|---|---|
1: 可执行对象代码符合高层次的要求 | S | S | S | S | 是 |
2: 可执行目标代码具有较高的需求 | S | S | S | S | 是 |
3: 可执行对象代码符合低级别的需求 | SI | SI | S | 是 | |
4: 可执行对象代码符合低级别的需求 | SI | S | S | 是 | |
5: 可执行对象代码与目标计算机兼容 | S | S | S | S | 是 |
目标 | A | B | C | D | Cantata |
---|---|---|---|---|---|
1:测试程序是正确的 | SI | S | S | 是 | |
2: 测试结果的正确性和差异性解释 | SI | S | S | 是 | |
3: 达到高要求的测试覆盖率 | SI | S | S | S | 是 |
4: 达到低要求的测试覆盖率 | SI | S | S | 是 | |
5: 软件结构测试覆盖(修改条件/决策) | SI | 是 | |||
6: 软件结构测试覆盖(决策覆盖) | SI | S | 是 | ||
7: 软件结构测试覆盖(语句覆盖) | SI | S | S | 是 | |
8: 软件结构测试覆盖(数据与控制耦合) | SI | S | S | 是 |
图例
目标应该独立满足 SI
目标应该满足 S
DO-178目标包括对源代码的准确性、一致性和编码标准的符合性进行评估。在生成满足这些目标的认证证据时,使用QA-C和QA-C++工具进行静态分析可显著减少人工工作量。QA-C和QA-C++也满足DO-178C 软件生命周期数据(第11.8节)中提到的对用来定义软件编码标准的工具的所有要求。
DO-178C按等级划分的源代码分析目标以及QA-C和QA-C++对这些目标的支持,总结如下表:
目标 | A | B | C | D | QA-C | QA-C++ |
---|---|---|---|---|---|---|
1. 源代码符合低级别的要求 | SI | SI | S | - | ||
2. 源代码与软件体系结构相结合 | SI | S | S | - | ||
3.源代码是可验证的 | S | S | - | - | ||
4.源代码符合标准 | S | S | S | - | 是 | 是 |
5. 源代码可追溯到低级需求 | S | S | S | - | ||
6. 源代码是准确和一致的 | SI | S | S | - | 是 | 是 |
7. 软件集成过程的输出是完整和正确的 | S | S | S | - | ||
8. 参数数据项文件是正确和完整的 | SI | SI | S | S | ||
9. 实现了参数数据项文件的验证 | SI | SI | S | - |
图例
目标应该独立满足 SI
目标应该满足 S