ISO 26262,道路车辆 - 功能安全,是一个基于风险的安全标准,定义了所有汽车电子和电气安全相关系统的功能安全。 该标准是功能安全标准IEC 61508的改编版,适用于包括电子和/或电气系统在内的所有安全相关系统的整个生命周期。
ISO 26262:最新版本已于2018年底发布,取代了较早的2011以及之前所有系统版本(DIS和FDIS)。 虽然ISO 26262:2018是公路车辆的国际标准,它不仅适用于批量生产的乘用车,而且还为开发用于卡车,公共汽车,拖车和半拖车的E / E系统提供指导。2018版本还涵盖了摩托车(但轻便摩托车除外)。 ISO 26262规定了四种汽车安全完整性等级(ASIL A至D),ASIL D为最高安全等级。 这使得可以基于事件发生的可能性和事件发生的可能严重性的组合来对危险进行分类。
针对公司和个人的目的诉讼适应性现在风险越来越大。 ISO 26262:2018是律师用来解释法律的技术标准。 在欧洲相关法律是通用产品安全指令2001/95 / EC(GPSD),它声明,产品制造者有责任以符合“最先进技术”开发原则的方式开发安全关键产品。 “最先进技术”仅指普遍接受的最佳实践,这些实践在客运道路车辆中,体现在ISO 26262:2018。 如果公司未采用公认的行业惯例,他们就不能使用“最先进的法律”辩护来对抗此类诉讼。
ISO 26262第8部分第11节建议软件工具是独立认证的。 根据这一要求,QA Systems的工具已经过SGS-TÜV GmbH的分类和认证,SGS-TÜV GmbH是一家独立的功能安全方面的第三方认证机构,由Deutsche Akkreditierungsstelle GmbH (DAkkS)授权。每个工具都被归类为工具置信度(TCL)1的水平,可用于开发安全相关软件,根据ISO 26262:2018,直至汽车安全完整性水平(ASIL)D。
用户可获得ISO 26262的工具认证套件,简化认证途径。套件包含了证明我们的工具符合ISO 26262建议以及如何帮助实现合规性而所需的一切。
有关工具认证工具包的更多信息,请联系我们。
ISO 26262的第6节建议进行单元和集成测试。 Cantata测试工具使开发人员能够自动化完成单元和集成测试,并在主机本机和嵌入式目标平台上验证符合ISO 26262的代码。
Cantata通过自动化完成以下内容帮助加速符合标准的动态测试要求:
测试框架生成
测试用例生成
测试执行
结果诊断和报告生成
我们的ISO 26262标准简报追踪了ISO 26262的要求,确定了Cantata支持的范围,并确定了Cantata如何支持这些要求。
有关Cantata支持 ISO 26262的更多信息,请查看关于Cantata如何支持ISO 26262的标准简报 或者联系我们。
方法 | ASIL A | ASIL B | ASIL C | ASIL D | Cantata |
---|---|---|---|---|---|
1a. 基于需求的测试 | ++ | ++ | ++ | ++ | 是 |
1b. 接口测试 | ++ | ++ | ++ | ++ | 是 |
1c. 故障注入测试 | + | + | + | ++ | 是 |
1d. 资源使用测试 | + | + | + | ++ | 是 |
1e. 模型和代码之间的背对背比较测试(如果适用) | + | + | ++ | ++ | 是 |
方法 | ASIL A | ASIL B | ASIL C | ASIL D | Cantata |
---|---|---|---|---|---|
1a. 需求分析 | ++ | ++ | ++ | ++ | 是 |
1b. 等价类的生成和分析 | + | ++ | ++ | ++ | 是 |
1c. 边界值分析 | + | ++ | ++ | ++ | 是 |
1d. 错误猜测 | + | + | + | + | 是 |
方法 | ASIL A | ASIL B | ASIL C | ASIL D | Cantata |
---|---|---|---|---|---|
1a. 语句覆盖 | ++ | ++ | + | + | 是 |
1b. 分支覆盖 | + | ++ | ++ | ++ | 是 |
1c. MC/DC 修正条件/判断覆盖 | + | + | + | ++ | 是 |
方法 | ASIL A | ASIL B | ASIL C | ASIL D | Cantata |
---|---|---|---|---|---|
1a. 基于需求的测试 | ++ | ++ | ++ | ++ | 是 |
1b. 接口测试 | ++ | ++ | ++ | ++ | 是 |
1c. 故障注入测试 | + | + | ++ | ++ | 是 |
1d. 资源使用测试 | + | + | + | ++ | 是 |
1e. 模型和代码之间的背对背比较测试(如果适用) | + | + | ++ | ++ | 是 |
方法 | ASIL A | ASIL B | ASIL C | ASIL D | Cantata |
---|---|---|---|---|---|
1a. 需求分析 | ++ | ++ | ++ | ++ | 是 |
1b. 等价类的生成和分析 | + | ++ | ++ | ++ | 是 |
1c. 边界值分析 | + | ++ | ++ | ++ | 是 |
1d. 猜错法 | + | + | + | + | 是 |
方法 | ASIL A | ASIL B | ASIL C | ASIL D | Cantata |
---|---|---|---|---|---|
1a. 函数覆盖 | + | + | ++ | ++ | 是 |
1b. 调用覆盖 | + | + | ++ | ++ | 是 |
图例
“++”,对相应的ASIL等级,该方法是强烈建议的
“+”,对相应的ASIL等级,该方法是建议的
“o”,对相应的ASIL等级,该方法没有建议也没有反对建议
ISO 26262的第6部分涉及软件级别的产品开发,包含有几个表,这些表定义了为了符合标准而必须考虑的方法。
为了满足标准的第6部分第8节"单元设计和实现" ,静态分析非常有用。 QA-C/QA-C++可用于确保软件符合5.4.7节规定的编码标准,并符合8.4.3.d的要求。 QA-MISRA为QA-C或QA-C++提供工具配置,专门用于确保符合MISRA指南。
有关支持ISO 26262的QA-C,QA-C++和QA-MISRA的更多信息,请联系我们。
下表总结了ISO 26262 ASIL静态测试建议以及QA-C和QA-C++对它们的支持。
方法 | ASIL A | ASIL B | ASIL C | ASIL D | QA-C | QA-C++ |
---|---|---|---|---|---|---|
1a. 强制实施低复杂性 | ++ | ++ | ++ | ++ | 是 | 是 |
1b. 使用语言子集 | ++ | ++ | ++ | ++ | 是 | 是 |
1c. 强制实施强类型 | ++ | ++ | ++ | ++ | 是 | 是 |
1d. 使用保护性实现技术 | o | + | ++ | ++ | 是 | 是 |
1e. 使用既定的设计原则 | + | + | + | ++ | 是 | 是 |
1f. 使用明确的图形表示 | + | ++ | ++ | ++ | 是 | 是 |
1g. 使用风格指南 | + | ++ | ++ | ++ | - | - |
1h. 使用命名约定 | ++ | ++ | ++ | ++ | 是 | 是 |
方法 | ASIL A | ASIL B | ASIL C | ASIL D | QA-C | QA-C++ |
---|---|---|---|---|---|---|
1a. 软件组件的分层结构 | ++ | ++ | ++ | ++ | - | - |
1b. 限制软件组件大小 | ++ | ++ | ++ | ++ | 是 | 是 |
1c. 限制接口大小 | + | + | + | + | 是 | 是 |
1d. 每个软件组件内的高内聚性 | + | ++ | ++ | ++ | 是 | 是 |
1e. 限制软件组件之间的耦合 | + | ++ | ++ | ++ | - | 是 |
1f. 适当的调度属性 | ++ | ++ | ++ | ++ | - | - |
1g. 限制使用中断 | + | + | + | ++ | - | - |
方法 | ASIL A | ASIL B | ASIL C | ASIL D | QA-C | QA-C++ |
---|---|---|---|---|---|---|
1a. 子程序和函数中的一个入口和一个出口点 | ++ | ++ | ++ | ++ | 是 | 是 |
1b. 没有动态对象或变量,否则需要在创建过程中进行在线测试 | + | ++ | ++ | ++ | 是 | 是 |
1c. 变量的初始化 | ++ | ++ | ++ | ++ | 是 | 是 |
1d. 没有变量名称的多重使用 | + | ++ | ++ | ++ | 是 | 是 |
1e. 避免使用全局变量,否则证明其使用是正确的 | + | + | ++ | ++ | 是 | 是 |
1f. 限制使用指针 | o | + | + | ++ | 是 | 是 |
1g. 没有隐式类型转换 | + | ++ | ++ | ++ | 是 | 是 |
1h. 没有隐藏的数据流或控制流 | + | ++ | ++ | ++ | 是 | 是 |
1i. 没有无条件跳转 | ++ | ++ | ++ | ++ | 是 | 是 |
1j. 没有递归 | + | + | ++ | ++ | 是 | 是 |
方法 | ASIL A | ASIL B | ASIL C | ASIL D | QA-C | QA-C++ |
---|---|---|---|---|---|---|
1a. 走查 | ++ | + | o | o | - | - |
1b. 审查 | + | ++ | ++ | ++ | - | - |
1c. 半形式化验证 | + | + | ++ | ++ | - | - |
1d. 形式化验证 | o | o | + | + | - | - |
1e. 控制流分析 | + | + | ++ | ++ | 是 | 是 |
1f. 数据流分析 | + | + | ++ | ++ | 是 | 是 |
1g. 静态代码分析 | + | ++ | ++ | ++ | 是 | 是 |
1h. 语义代码分析 | + | + | + | + | 是 | 是 |
图例
“++”,对相应的ASIL等级,该方法是强烈建议的
“+”,对相应的ASIL等级,该方法是建议的
“o”,对相应的ASIL等级,该方法没有建议也没有反对建议