静态分析和编码标准合规性助力自动驾驶汽车ISO 26262认证成功
自动驾驶是一个非常有竞争性的行业,谁先将经过ISO 26262认证的产品推向市场,将比竞争对手更具优势。为诸如自动驾驶之类的复杂功能编写代码时,开发人员很容易将静态分析和其他质量计划视为障碍。尤其是在自动驾驶领域缺乏人才的情况下,开发人员可能没有安全背景,来自无功能安全文化背景的开发人员并不了解安全关键软件开发所需的所有质量流程,这可能使文化认同成为一个挑战。
重庆慧都科技是parasoft一级授权代理商,如果您想咨询parasoft产品,请点击“~”
为了成功地在整个开发组织中采用静态分析和编码标准合规性流程,您可能要从以下三个方面入手:
一 、获得内部支持
在项目中,我负责引入静态分析和AUTOSAR C ++ 14编码标准合规性,以实现可持续发展。并且使用现代C ++开发了用于自动驾驶软件的软件组件。考虑到这一点,AUTOSAR C ++ 14编码标准是自动驾驶软件最合适的标准,因为它支持现代C ++,并且是为面向安全性开发而创建的。
为了说服不相信的人,我进行了多次演讲,讨论了多个不同方面。但是,即使进行了所有这些讨论和协议,一些开发人员仍然拒绝分析他们创建的所有代码。以下是我重点关注的一些要点,以确保正确的流程到位:
认证 -大规模生产之前,必须先对自动驾驶汽车软件进行批准和认证。在世界不同地区,此过程看起来有所不同,但是所有汽车组织都将ISO 26262视为简化批准和认证的主要功能安全标准。ISO 26262要求静态分析和编码标准符合性,并且对源代码的编码标准缺乏合规性将成为批准过程中的巨大障碍。没有认真的业务组织会允许这种风险。
低成本提供更好的质量 -当您从头开始构建高质量,合规的代码并尽早进行测试时,更容易(即,更快)解决问题,并且避免了常见的陷阱,因为开发人员将从一开始就采用最佳实践。开发人员(甚至是对安全至关重要的文化不熟悉的开发人员)将学习,并且违反静态分析的情况将更少。必须在编写代码时进行测试,以快速创建复杂的软件。静态分析是非常适合此情况的一种方法,它通过消除可能导致不可预测行为的问题类别,为安全性和安全性奠定了重要基础。为开发人员提供一种可以在较短的反馈循环中产生结果并减少误报的工具,可以提高对该测试技术的接受度。随着时间的流逝,开发人员确实开始将其视为安全网,即可以帮助他们创建可靠代码的东西。更不用说这对于Agile / DevOps至关重要,因为如果您在发布前等待进行扫描,则将花费数月的时间来修复代码。
法律问题 -遵守编码标准是潜在法律问题的盾牌。随着数以百万计的汽车在道路上行驶,事故将会发生。其中一些将追溯到不可避免的软件错误。组织必须能够证明他们已经做了一切可能的事以防止安全隐患。如果软件缺陷导致悲剧,那么没有文件化的编码标准合规性流程当然会成为问题。因此,在与开发人员讨论此方面时,为了增强效果,我希望包括一些由软件缺陷引起的实际事故,例如臭名昭著的Toyota意外加速。
二、说服最有抵抗力的开发商
自动驾驶技术还处于早期阶段。创建的许多源代码仅仅是测试新想法的原型。一些开发人员不想“浪费”时间使其符合编码标准,而只是想快速编写并进行测试。我听到的一个典型的故事是:“我只想测试这个新算法,如果它可以工作,我将重写代码以使其变得干净。”这听起来很无辜,但事实是,这只是在增加技术负担。
当我们从一个原型过渡到另一个原型时,通常会带走很多代码,从统计上讲,它可能占代码的80%。因此,我们无法使用错误的代码来制作原型,然后再进行修复,因为从一开始,我们就知道我们没有时间这样做。因此,即使某样东西是原型,该代码也必须合规,因为最终产品将包含大量最初作为原型创建的代码。
如果不是现在就专注于现在而不是稍后再做,而是可以现在就专注于避免最终花费未知的时间,则开发人员开始将其视为增强流程而不是放慢进度。如果您可以在不降低速度或创造力的情况下有效地使流程适应开发人员的工作流程,则使用起来会变得更加容易。最后,保持某些物品整洁干净比清理一个大混乱要容易得多。建立一致,可维护的做法来编写兼容的代码,将有助于您日后发现更多麻烦。
三、处理遗留代码问题
即使您能够尽早成功地引入编码标准合规性流程,也不可避免地已经有一些(大量)代码已经由团队创建,并且已经被继承。当您选择静态分析工具(Parasoft C / C ++ test)并选择标准(AUTOSAR)时,同时,该团队正在创建大量没有任何合规性政策的代码!因此,还必须为遗留代码创建策略。两项重要的政策是:
“零新违规”-在此之前,您必须先完成新代码的创建,然后才能兼容
“随时清理”-如果您触摸文件,则必须对其进行清理
通过这些策略,您可以处理旧代码,引入新代码并继续保持整洁。
推荐阅读
Parasoft“基于环境”的测试方法帮助您在现实环境中测试其应用程序
如何选择最佳的API测试解决方案?Parasoft告诉你答案!