提高软件质量,减少ADAS软件源代码验证时间

随着高级驾驶辅助系统 (adas) 和自动驾驶 (ad) 系统日趋复杂,赋能这些系统的软件也变得愈加复杂。另一方面,汽车 oem 要求供应商压缩 adas/ad 软件的交付周期,同时还提高了软件质量要求。因此,供应商可谓举步维艰。通常情况下,依靠手动过程,他们只能在开发生命周期的后期发现缺陷。更糟的是,如果系统已投入生产,则召回需要付出高昂的成本。
凭借 polyspace 静态代码分析产品,hl klemove 的工程团队在高级 adas/ad 软件开发过程的早期阶段即可发现运行时错误、安全漏洞和编码标准偏差。他们已将 polyspace bug finder 和 polyspace access 集成到其自动化持续集成/持续交付 (ci/cd) 工作流中,从而减少了代码验证时间,提高了软件质量,并促进了团队间和团队内的协作。
hl klemove 团队负责人 minchae lee 表示,“即使 adas/ad 软件项目的数量和复杂性有所增加,polyspace bug finder 也能让我们在开发过程的早期阶段发现问题,从而交付质量更高的软件。它还使我们的团队能够满足 oem 客户现行的安全编码标准要求,而 polyspace access 让我们可通过 web 访问静态分析结果,从而改进协作。”
挑战
过去,hl klemove 团队需要结合使用手动代码审查和独立工具,对 adas/ad 软件进行源代码分析。但是,视觉检查以及工具的配置和维护复杂且耗时。此外,将这些工具集成到 ci/cd 工作流也非易事。开发人员必须在他们的工作站上使用这些工具,但这既消耗资源,又使得他们很难执行其他开发任务。
因此,团队不得不将静态代码分析推迟到开发过程的后期进行,而这时用来发现并解决累积的各种问题的时间已经所剩无几。hl klemove 需要一种新的工具来应对这些挑战,并使团队能够满足新的客户要求,即符合新 unece wp.29 法规所要求的 cert c 编码标准。
解决方案
通过使用 polyspace 产品,hl klemove 可在整个开发过程中发现缺陷和编码违规行为,因而提高了 adas/ad 软件质量。
在 mathworks 应用工程师的协助下,hl klemove 的工程师将 polyspace 工具集成到了他们的 ci 工具链,其中包括用于 ci/cd 的 atlassian bamboo,以及用于 git 存储库管理的 bitbucket。他们创建了 bamboo 作业来触发 polyspace bug finder server 自动执行静态代码分析,并将分析结果发布到 polyspace access 以进行基于 web 的协同审查。为了简化项目管理,他们还将 polyspace access 与 atlassian jira 相集成,使得在 polyspace access 中创建与 polyspace 结果相关的工单成为了可能。
“polyspace 使我们能够自动执行 adas 软件的静态代码分析,并将其集成到我们的 ci/cd 工作流中。从开发的最早阶段直到生产的整个过程中,polyspace 都可以帮助我们查明并消除潜在的高成本问题,而这些问题是开发人员仅凭自己难以发现的。”
—— minchae lee,hl klemove
在典型项目开发期间,工程师将代码更改推送到 bitbucket。更新后的代码随后由 polyspace bug finder server 进行分析,作为计划的或手动触发的 bamboo 作业的一部分。一旦静态代码分析完成,用户就会收到通知电子邮件,其中包含指向 polyspace access 网页中相应结果的链接。通过 polyspace access web 浏览器界面,经理和工程师们可以一边查看代码的静态分析结果一边展开协作,这些代码可能是他们处理过的代码、其他团队生成的代码,或使用 embedded coder 从 simulink 模型自动生成的代码。polyspace bug finder server 的结果包括运行时错误、并发问题,以及 misra 和 cert c 编码标准违规行为。软件工程师关注由 polyspace bug finder server 生成的来自功能分支的结果,而开发运营一体化工程师则关注来自发布分支的结果。
为了缩短开发人员的反馈回路,多个团队最近已经开始在编码的同时,使用 polyspace as you code ide 插件来检查代码质量。这样,在向 bitbucket 提交代码更改之前,他们便可解决其中 misra 或 cert c 不合规的问题了。
目前,hl klemove 正将 polyspace 产品应用于所有的 adas/ad 开发计划,其中涉及数十个项目和数百种量产车型。
结果
减少源代码验证时间。
lee 表示,“使用 polyspace bug finder,我们将源代码验证时间减少了高达 80%。而且,通过自动生成报告,我们将为 oem 客户创建综合报告所需的时间,从长达一小时缩短至 10 分钟甚至更短。”
在开发过程的早期阶段发现缺陷。
lee 表示:“polyspace 让我们在开发过程的早期阶段即可发现、诊断并解决问题。这对我们来说至关重要,因为即使只有一个缺陷未被发现,也可能会导致安全召回,潜在成本高达数百万美元。”
符合 oem 的编码要求和标准。
lee 说道,“我们最大的一个客户是一家 oem,他们现在要求所有供应商都要遵循编码规范,包括 misra 和 cert c。polyspace 使我们的团队能够满足这一要求,并生成报告来展示我们的代码验证结果。我们已收到了客户的积极反馈,他们认为我们能够满足不断变化的软件质量相关要求。”


硅弧焊整流器常见故障及排除方法
培养机器人教育创造力的前沿科技
Littelfuse推出专为高压应用开发的3425L系列SMD自恢复PPTC系列
士兰微披露一季报,公司第一季度实现营业收入14.75亿元
芮捷温室大棚物联网解决方案
提高软件质量,减少ADAS软件源代码验证时间
物联网卡是如何推动医疗服务水平的发展
华为举办军团组建成立大会
PLC与变频器的组合应用
电源设计改进稳定度和误差放大器的解决方案
物联网革命会改变什么
GTX 1050游戏本买什么好?GTX 1050游戏本购买指南:戴尔灵越游匣Master 15领衔
如何使用激励器改善music音频质量
快讯:欧盟或单独对谷歌亚马逊征税 比亚迪新公司涉及无人机VR眼镜
存储器产业供应链建立过多库存的问题特别明显
洲明积极探索光显科技与数字化教育融合发展
AO3400A AO3401A美国万代AOS原厂货源因疫情影响货源紧张,泰德兰未雨绸缪年前备货充足
TLVR电感器 in 服务器电源
2020年“互联网+”医疗迎来了自己的高光时刻
内存的插槽种类