0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

MATLAB ? 来源:MATLAB ? 2023-05-24 09:40 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

随着高级驾驶辅助系统 (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 使我们的团队能够满足这一要求,并生成报告来展示我们的代码验证结果。我们已收到了客户的积极反馈,他们认为我们能够满足不断变化的软件质量相关要求。”

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • adas
    +关注

    关注

    310

    文章

    2265

    浏览量

    210508
  • 自动驾驶
    +关注

    关注

    790

    文章

    14399

    浏览量

    171511
  • 安全漏洞
    +关注

    关注

    0

    文章

    152

    浏览量

    16974

原文标题:提高软件质量,减少 ADAS 软件源代码验证时间

文章出处:【微信号:MATLAB,微信公众号:MATLAB】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    新思科技如何验证更安全的智能汽车软件

    汽车软件正在迅速发展,其复杂性、安全性要求以及对高效开发流程的需求与日俱增。在这一背景下,虚拟ECU(vECU)成为加速开发和验证的关键工具,而将Rust语言集成进AUTOSAR Classic环境则为行业带来了宝贵的新可能。
    的头像 发表于 07-10 15:12 ?445次阅读
    新思科技如何<b class='flag-5'>验证</b>更安全的智能汽车<b class='flag-5'>软件</b>

    嵌入式软件开发常用的软件有哪些?

    源代码编辑器。这个软件支持语法高亮,代码自动补全,代码重构,查看定义功能,并且内置了命令行工具和Git版本控制系统。用户可以更改主题和键盘快捷方式实现个性化设置。也可以通过内置的扩展程
    发表于 07-03 17:06

    硬件辅助验证(HAV) 对软件验证的价值

    硬件辅助验证 (HAV) 有着悠久的历史,如今作为软件驱动验证的必备技术,再度受到关注。 RISC-V 可能是说明这一点的最好例子。HAV 能够执行多个周期的软件驱动
    的头像 发表于 05-13 18:21 ?1121次阅读

    电磁环境仿真与验证系统软件

    电磁环境仿真与验证系统软件
    的头像 发表于 04-29 16:59 ?377次阅读
    电磁环境仿真与<b class='flag-5'>验证</b>系统<b class='flag-5'>软件</b>

    FPGA EDA软件的位流验证

    位流验证,对于芯片研发是一个非常重要的测试手段,对于纯软件开发人员,最难理解的就是位流验证。在FPGA芯片研发中,位流验证是在做什么,在哪些阶段需要做位流
    的头像 发表于 04-25 09:42 ?1530次阅读
    FPGA EDA<b class='flag-5'>软件</b>的位流<b class='flag-5'>验证</b>

    DLPNIRSCANEVM如何获得软件NIRscan V2.0.0的源代码

    如何获得软件NIRscan V2.0.0的源代码
    发表于 02-19 06:10

    如何在日常开发过程中提高代码质量

    随着技术的不断进步,客户期望越来越高,嵌入式设备变得越来越智能,对应的嵌入式系统和软件也变得越来越复杂,同时产品的开发周期变得越来越短。如何在短时间内开发出高质量软件对产品的成功起着
    的头像 发表于 01-23 09:09 ?679次阅读
    如何在日常开发过程中<b class='flag-5'>提高</b><b class='flag-5'>代码</b><b class='flag-5'>质量</b>

    如何提高嵌入式代码质量

    嵌入式代码质量是至关重要的。本文将探讨如何通过有效的开发方法和工具来提高嵌入式代码质量,以确保系统的可靠性和可维护性。 理解嵌入式系
    发表于 01-15 10:48

    Jenkins 与 SonarQube 集成部署,自动化代码质量监控

    前言 强化代码质量,加速软件交付!Jenkins 携手 SonarQube,与华为云 Flexus X 云服务器强强联合,打造自动化代码质量
    的头像 发表于 01-07 17:24 ?783次阅读
    Jenkins 与 SonarQube 集成部署,自动化<b class='flag-5'>代码</b><b class='flag-5'>质量</b>监控

    怎样提高三坐标测量机的测量效率

    帮助您优化测量流程,减少测量时间,并提高整体的生产效率。 优化测量程序 预编程 :在测量前对测量路径进行预编程,可以减少在机器上编程的时间
    的头像 发表于 12-19 10:20 ?1231次阅读

    索辰科技收购WIPL-D软件产品全套源代码

    近日,索辰科技在分析师会议上透露了一项重要进展。公司近日已与WIPL-Dd.o.o.公司正式签署协议,成功收购了WIPL-D软件产品的全套源代码,并因此成为WIPL-D软件产品在亚太地区的唯一
    的头像 发表于 12-16 09:50 ?669次阅读

    Gmapping源代码

    Gmapping源代码.docx
    发表于 11-16 13:42 ?0次下载

    智驾软件冒烟测试之测试管理软件解决方案#ADAS #自动驾驶 #冒烟测试

    adas
    北汇信息POLELINK
    发布于 :2024年09月29日 13:41:46

    怎么样提高verilog代码编写水平?

    ? A:以下是一些提高 Verilog 代码编写水平的自学方法: 深入学习基础知识:重新巩固数字电路的基本概念,如逻辑门、组合逻辑、时序逻辑、状态机等,这是编写高质量 Verilog 代码
    发表于 09-25 20:05

    康谋分享 | 在基于场景的AD/ADAS验证过程中,识别挑战性场景!

    基于场景的验证是AD/ADAS系统开发过程中的重要步骤,然而面对海量驾驶记录数据时,如何实现自动且高效地识别、分类和提取驾驶记录中的挑战性场景?本文康谋为您介绍IVEX软件识别挑战性场景并进行数据分析的强大功能。
    的头像 发表于 08-28 10:16 ?1502次阅读
    康谋分享 | 在基于场景的AD/<b class='flag-5'>ADAS</b><b class='flag-5'>验证</b>过程中,识别挑战性场景!