logo Parasoft C/C++test 使用教程 我也要发布文档

如何为支持ISO 26262选择符合AUTOSAR C++的正确工具


希望通过应用AUTOSAR C++编码准则来简化ISO 26262合规性工作的团队,如果他们在选择用于项目的静态分析工具时掌握了充分的信息,将会更加成功。阅读有关交易的一些技巧。

多年来一直占据着汽车领域主导地位的C语言已不足以满足日益增长的汽车软件体系结构的复杂性,并且由于面向对象设计的要求,C++对于许多汽车团队来说是一种自然的选择。但是C++是一门复杂的语言,需要付出大量努力才能确保可预测性、安全性和安全性。

汽车功能安全标准ISO 26262提供了有关软件开发和V&V流程的一些指导,但在语言结构层面上并没有深入探讨。为了获得这样的指导,组织转向诸如MISRA C/C++或AUTOSAR C++之类的编码标准。在此文中,我将分享如何使用配置有AUTOSAR C++ 14符合性检查器的静态分析工具来符合ISO 26262。


如何使用AUTOSAR C++简化ISO 26262的合规性


遵守功能性安全标准(例如ISO 26262)需要付出巨大的努力,并且从一开始就需要成为项目的组成部分。即使在软件组件的情况下,合规性也需要在需求收集,计划和实施过程中进行特定的活动,并且绝对不能“稍后添加”。


ISO 26262指定了达到标准要求的方法的集合。要声明其合规性,用户必须提供证据证明所有适用的要求和方法均已实施。并非所有方法都适用于所有人。该方法的适用性取决于汽车安全完整性等级(ASIL),这是标准中定义的风险分类(ASIL A代表最低等级,ASIL D代表最高汽车危害等级)。可以强烈推荐、推荐或中性的方法。

团队在尝试遵守该标准时通常面临的挑战是如何实施为其流程推荐的方法。有关如何遵守特定方法或要求的决定通常取决于团队经验。在某些简单情况下,手动操作和检查可能是一个答案,但是在大多数情况下,团队正在尝试寻找可以自动化所需方法的工具。

必须通过称为工具认证的正式流程来批准用于符合ISO26262的工具以用于预期用途。鉴定软件工具的目的是提供软件工具适用性的证据,以便在开发与安全相关的项目或元素时使用。这可能是一项时间和资源消耗的任务。(如果您使用的是Parasoft C/C++test,则它具有自动化的鉴定套件来支持,该套件简化了鉴定过程,并包括TüVSüD认证,在许多情况下足以进行工具鉴定。


AUTOSAR C++编码标准如何提供帮助?


遵循像AUTOSAR C++这样的编码标准,是满足ISO 26262某些要求的一种广为接受的方法。AUTOSARC++ 14提供了可追溯性表,这些表将ISO 26262的原理和建议映射到适当的编码准则。该映射主要涵盖了ISO 26262第6部分的第8节,并极大地简化了实现符合标准中相应方法和要求的过程。

但是,仅AUTOSAR C++ 14编码指南不足以实现软件组件符合ISO 26262的要求。该标准中的某些方法无法应用于AUTOSAR准则,例如建议使用“样式指南的使用”的方法1g或建议使用“命名约定的使用”的方法1h。AUTOSAR C++ 14不包含任何样式指南或命名约定。但是,这两种方法都可以使用Parasoft C/C++test轻松实现,该软件包括3000多个静态分析检查器(包括代码样式检查器),并提供了用于创建自定义静态分析规则的模块。通常,标准中无法通过静态分析实现的方法需要其他测试技术,例如故障注入测试。


满足AUTOSAR C++ 14要求的3个关键功能


因此,这当然使我们能够找到合适的工具来简化合规性。将编码标准合规性流程引入团队开发工作流程并非易事。因此,选择一种有助于实现合规性而又不增加过多开销且不需要其他手动程序的工具非常重要。选择静态分析解决方案时,以下几点是重要的决策因素。

1.本标准涵盖的编码指南

AUTOSAR C++ 14定义了大量指南。目前,AUTOSAR编码标准的最新版本包含大约400条准则,其中350条准则可以通过静态分析来实施。支持如此多的准则对静态分析工具供应商来说是一个挑战,并不是市场上所有可用的静态分析工具都能充分满足标准的要求。(无耻的插件:在这种情况下,Parasoft C/C++test是领先的解决方案,涵盖了数量最多的AUTOSAR C++准则,并且每天都在继续实施。)

2.支持数据和流分析技术

AUTOSAR C++编码标准中定义的准则具有不同级别的复杂性。一些简单的准则可以使用相对简单的静态分析技术来实施,但是有些准则则需要复杂的数据和控制流分析,以模拟所分析源代码中的路径并确定是否违反了给定准则。

您选择的静态分析工具必须评估代码中的路径,以正确确定用于访问容器中数据的索引是否在正确范围内。市场上的许多商业工具和大多数开源工具都对此类问题进行了非常基本的流程分析,实际上,它们要么错过了代码中的问题,要么报告了大量的误报,这浪费了大量的时间。审查并杀死生产力。在对静态分析工具进行基准测试时,我强烈建议您特别注意比较结果,以获取更复杂的准则,这需要流量分析技术。

3.支持工具鉴定

尽管AUTOSAR C++并没有明确要求工具资格来批准使用静态分析解决方案,但ISO 26262却需要。因此,当计划使用AUTOSAR C++简化对ISO 26262的遵从时,建议选择一种静态分析解决方案,该解决方案为最终用户提供适当的证书和资格认证工具。


总结


遵循像AUTOSAR C++ 14这样的编码标准可以帮助组织达到ISO 26262的合规性,因为ISO 26262标准中定义了多种方法和要求,可以通过符合AUTOSAR编码准则来满足这些方法和要求。AUTOSAR C++ 14提供了专用的可追溯性表,这些表演示了ISO 26262要求和编码准则之间的映射,希望通过应用AUTOSAR C++编码准则来简化ISO 26262遵从性工作的团队如果选择了充分的信息后会更加成功。用于项目的静态分析工具。