介绍
ISO 26262是汽车行业使用的功能安全标准,改编自IEC 61508。它包含对软件开发和设计的要求。大多数要求都包含在第 6 部分的合规性表格中。
在本白皮书中,您将学到如何使用编码标准和静态代码分析工具来帮助您符合ISO 26262中每级ASIL的要求。
汽车上越来越多地使用电子设备,而这些设备正在变得越来越复杂。软件故障不是小事,它可能会危及车辆的安全。开发团队需要确保不会发生故障。但详尽的测试几乎不可能,因此系统必须在设计上就能够防止故障或者确保故障时的行为是受控的。
符合功能安全标准,如ISO 26262,是安全汽车系统设计的关键。
ISO 26262 概述
ISO 26262改编自安全相关的电子系统的功能安全标准IEC 61508,它重点关注车辆系统在整个安全生命周期中的特定需求。
需要符合 ISO 26262 的系统包括: ? 驾驶员辅助系统。 ? 推进和车辆动态控制。 ? 主动和被动安全系统。
越是复杂的系统,失败的风险就越大。这包括系统性和随机性硬件故障。
如何使用 ISO 26262 降低风险
ISO 26262 为开发人员提供了减轻这些风险的指南。这包括以下要求和设计过程。
汽车安全完整性等级 (ASIL) ISO 26262 对风险和安全要求进行分类。有四个汽车安全完整性等级(ASIL A – D)。ASIL A 是最温和的级别。ASIL D是最严格的级别。
系统(功能级)的 ASIL决定了开发团队需要使用哪些方法。
ISO 26262 第 6 部分规定了这些要求,包括: ? 软件开发的启动。 ? 软件架构设计。 ? 软件单元设计和实现。
编码标准要求 建议使用编码标准,例如 MISRA,以符合 ISO 26262。使用编码标准与静态代码分析工具可以帮助您遵守ISO 26262第6部分的要求。以下是如何达到这些标准。
ISO 26262,第 6 部分合规表 ISO 26262 第 6 部分包括定义实现符合标准方法的表格。
在这里,我们将介绍如何使用 Helix QAC (一种用于 C/C++的静态代码分析工具)来遵守其中四个表。
建议方法的关键标注: ++ 强烈建议的。 +建议的 O 无建议。
表1—建模和编码指南涵盖的通则 表 1 包括为所有 ASIL 级别推荐的建模和编码指南。对于用 C 或 C++ 编写的软件,您可以使用 Helix QAC 来遵守大多数这些规则。
例如,它强烈建议在所有ASIL级别中强制降低代码复杂度。您可以使用Helix QAC的web仪表盘随时监控代码复杂度的变化趋势,这样可以很容易地确保代码库不会随着体量的增加而变得更加复杂。
表3—软件架构设计的原则 表3涵盖了为所有 ASIL 级别推荐的架构设计原则。您可以使用 Helix QAC 来遵守其中一些原则。
例如,强烈建议限制所有 ASIL 级别的软件组件的大小。Helix QAC测量和报告了与代码大小相关的几个不同指标。
表 8 —软件单元设计和实现的设计原则 表 8 涵盖了为所有 ASIL 级别推荐的设计原则。Helix QAC 与 MISRA 合规性模块相结合,可用于遵守这些原则。
例如,强烈建议(在所有 ASIL 级别)在子程序和函数中只有一个入口点和一个出口点。
使用 Helix QAC,您可以强制执行以下 MISRA 规则以符合此设计要求:
MISRA C:2004 规则 14.4:不应使用 goto 语句。 MISRA C:2004 规则 14.7:一个函数在其末尾应该有单一的退出点。
表9 -软件单元设计与实现的验证方法 表 9 涵盖了软件设计的验证方法。Helix QAC 可用于执行其中几种方法。
例如,除了基本的静态代码分析之外,您还可以使用 Helix QAC 自动执行复杂的数据流分析。Helix QAC 会为您找出潜在的错误,让您可以更快地验证软件设计。
使用Helix QAC轻松实现ISO 26262合规性 Helix QAC 是一个静态代码分析工具。它根据编码规则检查您的代码,包括 MISRA 和AUTOSAR。这可以帮助您满足 ISO 26262 中包含的所有 ASIL 级别的合规性要求。
Helix QAC 已通过 SGS-TüV-SAAR 安全关键合规性认证。这包括所有 ASIL 级别 (A – D) 的ISO 26262 合规性。
认证也涵盖了MISRA C/C++ 和 AUTOSAR C++ 合规性模块。
通过使用Helix QAC,您将减少合规的时间和成本。
更多信息请访问:http://www.softtest.cn/show/41.html
|