我是靠谱客的博主 无辜小白菜,最近开发中收集的这篇文章主要介绍高级驾驶辅助系统(ADAS)的安全性和静态分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在这里插入图片描述
高级驾驶辅助系统(ADAS)是汽车电子创新的关键领域,但是只有在它们像其他安全关键型软件一样经历了同样程度的严苛测试时,其在安全方面的提升和积极影响才能得以实现。ISO 26262定义了汽车功能安全的设计和构建准则,其中包含ADAS系统。按照标准,静态分析在软件开发中起着重要作用。本文讨论了静态分析工具在ADAS系统开发中所扮演的角色,包括使用它们的投入和回报。

认证和静态分析工具

ISO 26262指定了软件单元设计、实现原则和编码准则。静态分析工具在执行诸如MISRA C之类的编码标准时特别有用,而编码标准检查只是GrammaTech的CodeSonar这类产品功能的一小部分。CodeSonar还为ADAS设备提供了强大的工具,以实现软件的高鲁棒性、正确性和一致性,这要求设计、编码和测试的严密性要超出编码标准的检测。在缺陷进入软件项目之前和之后,静态分析工具都可以发现源代码中的缺陷。静态分析工具还可以检测出测试中很难找到的错误,例如并发错误,这些错误的调试和修复成本都较为昂贵。
在这里插入图片描述
图1:相对于每个汽车安全完整性等级(ASIL),降低风险是ISO 26262技术解决方案的要求。开发自动化对降低风险具有重要的影响。

工具认证

软件认证需要实施标准的证明,这通常是手动生成的,但是自动化大大减少了工作量。为了使一个自动化工具的结果成为可接受的认证证据,工具供应商应对其销售的产品进行认证。GrammaTech CodeSonar经过独立认证,可用于开发安全关键软件,达到ISO 26262、IEC 61508和EN 50128的最高安全完整性级别。这意味着开发人员可以放心地使用这些工具,确信所产生的结果是认证期间审批机构可接受的。使用不合格的工具是存在风险的,并且会导致需要进行更多的测试,文档编制和认证成本。

静态分析作为ISO 26262系统开发的一部分

CodeSonar既可以用于软件的源代码也可以用于二进制,因此在开发和测试阶段已被广泛使用,尽管开发团队已经学会了通过利用生命周期中的效益来扩展这些工具的价值。例如,任何新的补丁程序,安全更新或产品发行版都应在发行前进行全面分析,以确保质量和安全性。下图说明了静态分析在ISO 26262系统开发模型(基于广为人知的“ V”)中的作用:

在这里插入图片描述
图2:静态分析在ISO 26262定义过程中的作用,大多数ADAS系统都可能会遵循。

ADAS开发加速

ADAS系统所需要的额外管理,包括ISO 26262中定义的风险管理和功能安全,对于汽车软件开发团队而言相对较新。静态分析工具在所有安全关键系统的开发过程中都发挥着举足轻重的作用,为寻求严格的软件安全认证的软件团队提供切实的生产力改进。

具体来说,从开发的早期阶段就将合格工具作为软件开发过程中的一部分,可以带来巨大的好处,如以下所列:

● 加强编码标准的安全性、防护性和样式。

在代码开发期间自动进行代码分析,可确保每天开发流程中的质量,包括用于执行ISO 26262、MISRA C和其他安全关键的编码标准。

● 减少证明软件健壮性和行为方面的人力。

静态分析工具通过提供更多的软件质量保证来增强测试。

● 减少整个开发过程中的缺陷数量。

初次运行的代码在测试和集成方面比错误代码便宜得多。在测试之前从代码中删除错误(甚至源配置管理),可以降低成本和风险。

● 查找出无法测试的严重缺陷。

ADAS中的软件测试是详尽无遗的,并且根据关注级别(ASIL),需要完整的声明和/或决策范围。尽管测试严格,但是静态分析工具已经发现了被遗漏的缺陷。这些是最令人担忧的缺陷类型–真的值得让这些漏洞进入交付产品的风险中吗?

● 分析遗留代码和第三方代码。

在嵌入式软件开发中,使用诸如商用现货软件(COTS)和开源软件之类的第三方代码很常见。CodeSonar可以分析第三方源代码和二进制文件,以发现软件中无法通过其他方式进行测试的缺陷和安全漏洞。

● 加快认证证据。

记录软件单元验收结果是证明符合认证标准的关键。静态分析工具具有丰富的报告功能来帮助支持认证需求。

静态分析的投资回报率(ROI)

那么,考虑到这些因素,投资回报率是多少?静态分析减少了软件开发的缺陷数量,包括所有开发阶段的缺陷数量。一个简单的分析表明,在软件开发过程中,只考虑减少缺陷的因素,发现每个缺陷大约节省了126美元(使用来自Capers Jones(2012)的数据)。假定每1000行代码中平均有15个缺陷(在缺陷量很高的开发期间),每千行代码可以节省$ 1900。

结果将根据其他因素而变化,例如劳动率,缺陷检测,修复时间和缺陷密度。静态分析工具即使用于最明显的开发阶段,也能提供快速的投资回报。然而,除了将代码编码到其他开发阶段之外,还有更丰富的回报。

静态分析不仅仅是减少缺陷

除了“简单”的缺陷检测之外,GrammaTech的CodeSonar还有更多有价值的用途,例如,分析潜在的危险数据流(受到污染的数据),检测复杂的并发性问题,分析第三方源文件和二进制文件,以及检测传统测试遗漏的其他错误。上述简单的分析中没有考虑到这些关键的益处,但我们也能够从工具的投资回报率当中明显看到。缺陷检测为具有竞争力的ADAS项目提供了所需要的额外风险和成本削减。

结论

ADAS在汽车系统中的应用范围正在不断扩大。在这些系统中,所需的软件开发越来越重视对成本和风险的问题。ISO 26262等标准要求全面的风险管理。ADAS软件的构建复杂且昂贵,但是静态分析工具可以提高这些系统所需的安全性,质量,健壮性和正确性,同时提供出色的投资回报。尽早使用这些静态测试工具,以及在整个软件开发生命周期中扩展有效性,是获得最大回报的关键。
-版权所有,抄袭必究-

更多信息:http://www.softtest.cn/

最后

以上就是无辜小白菜为你收集整理的高级驾驶辅助系统(ADAS)的安全性和静态分析的全部内容,希望文章能够帮你解决高级驾驶辅助系统(ADAS)的安全性和静态分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部