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

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

3天内不再提示

沃尔沃汽车软件工厂使用Polyspace提高开发速度和质量

MATLAB 来源:MATLAB 作者:MATLAB 2022-11-03 16:10 次阅读

2018 年,沃尔沃汽车开始为嵌入式软件开发团队提供持续集成 (CI) 工具链。该工具链为很多项目的开发人员带来了持续编译、测试和部署迭代代码更改的能力。

Polyspace 产品作为这一自动化软件编译流程的一部分,为用 C 和 C++ 编写代码的开发人员以及从 Simulink 模型生成代码的开发人员提供了静态代码检查。

“几年前,我们的一个大型项目开始采用 C++ 进行开发,”沃尔沃高级首席软件工程师 Johannes Foufas 说。“C++ 是一种复杂的语言,所以我们需要可靠的代码验证工具。在我们尝试过的所有静态代码分析工具中,Polyspace 产品是最为出色的产品之一。”

75032bc0-5aa2-11ed-a3b6-dac502259ad0.jpg

沃尔沃汽车在整个开发生命周期中使用 Polyspace 进行静态代码检查。

“借助 Polyspace,我们可以在每次代码合并之前识别并修复关键的运行时错误,从而确保软件的安全性和质量。”

—— Johannes Foufas,沃尔沃汽车公司

挑战

许多沃尔沃汽车软件工程师用 C 或 C++ 进行开发,但这些语言颇为复杂,可能导致难以发现的错误,修复成本也很高。在过去,沃尔沃汽车使用开源工具来检查和调试代码。然而,这些工具都无法识别源代码中的一个下溢错误,而该错误导致了车辆上出现偶发问题。

为了节省开发时间和成本并符合功能安全和网络安全标准,沃尔沃团队需要一种万无一失的方法来识别稳健性测试很难检测出来的关键运行时错误,包括溢出和其他数值问题。

解决方案

Johannes Foufas 的团队评估了多种代码分析工具和服务,最终选择了 Polyspace 产品作为首选解决方案。沃尔沃汽车软件工程师与 MathWorks Consulting Services 密切合作,将 Polyspace 工具集成到了软件开发生命周期的每个阶段。

工程师使用 Ansible 将 Polyspace 作为基础作业整合到 Zuul CI 系统中,并将 Polyspace 的结果集成到代码审查系统中。沃尔沃汽车的每个开发团队都可以创建一个单独的已安装和配置 Polyspace 代码检查的 CI 管道。

借助 Polyspace Access 提供的 Polyspace as You Code 插件,很多团队都会在使用 IDE 编码时检查代码是否符合 CERT C、CERT C++、MISRA C 和 AUTOSAR C++14 编码规范。在提交代码修改之前,开发人员在本地计算机上运行 Polyspace Bug Finder 和 Polyspace Code Prover 以对更改进行预验证。

当开发人员将更改推送到源代码存储库时会自动触发 Polyspace Bug Finder Server 和 Polyspace Code Prover Server 分析。Polyspace 的结果会集成到 Gerrit 中以支持代码审查。CI 系统采用严格的控制措施:每项建议的更改在代码合并之前都要经过验证,并且仅在满足功能安全和网络安全要求的情况下才会提示提交到中央 Git 存储库中。

结果

现场测试前就检测到了关键运行时错误。

Foufas 说,“在现场发现软件缺陷需要很高的成本才能修复。Polyspace Code Prover 是唯一一款能够让我们从一开始就发现问题的工具。”

通过更好的代码重用提高了工作效率。

Foufas 指出,“Polyspace 节省了开发时间。自从我们在基础软件上部署了 Polyspace 静态代码分析工具,基于现有代码的新项目的调试问题就大幅减少了。”

ASPICE、ISO 26262 和 ISO/SAE 21434 认证要求达成。

“不符合行业标准的软件会直接影响公司的声誉和市场份额。借助 Polyspace 工具,我们更加确信我们的代码没有运行时错误,并且符合功能安全和网络安全要求。”Foufas 说。

审核编辑 :李倩

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

    关注

    4983

    文章

    18297

    浏览量

    288623
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72902
  • 沃尔沃汽车
    +关注

    关注

    0

    文章

    22

    浏览量

    3638

原文标题:静态代码分析 | 沃尔沃汽车软件工厂使用 Polyspace 提高开发速度和质量

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

收藏 人收藏

    评论

    相关推荐

    fpga开发一般用什么软件

    此外,还有一些其他的辅助工具,如用于数字信号处理开发的System Generator,以及用于HDL语言仿真的ModelSim等。这些工具可以配合上述的主要FPGA开发软件使用,提高开发
    的头像 发表于 03-27 14:54 599次阅读

    沃尔沃汽车携手Breathe电池科技,应用新充电软件

    据悉,此次沃尔沃汽车与 Breathe 的合作,旨在通过集成其自研的电池管理系统中的相关软件来优化和提高充电效率。以便“显著减少消费者的充电时间”,进一步升级整体驾驶和充电体验。
    的头像 发表于 03-26 14:14 98次阅读

    沃尔沃将向吉利转让股份 62.7%的极星汽车股份

    沃尔沃将向吉利转让股份 62.7%的极星汽车股份 据外媒体报道沃尔沃汽车将向吉利控股转让股份;这是沃尔沃持有的 62.7% 极星股份,如果顺
    的头像 发表于 02-24 15:32 954次阅读

    汽车线束工厂mes解决方案

    汽车线束是汽车的重要组成部分,其生产过程涉及到大量的数据和信息交互。随着汽车行业的快速发展,对线束生产的要求也越来越高,因此,汽车线束工厂
    的头像 发表于 02-05 09:41 196次阅读

    吉利成新股东,沃尔沃不再向极星注资

    同时,沃尔沃宣布将原本应于2027年底提前归还的可转换贷款延长18个月至2028年底。截至发稿,沃尔沃仍握有极星汽车48%的股份。
    的头像 发表于 02-02 15:41 217次阅读

    沃尔沃将停止为极星汽车提供资金

    瑞典知名汽车制造商沃尔沃的股价一度飙升超过30%,这主要归因于该公司刚刚公布的2023年第四季度业绩。然而,除了业绩表现,沃尔沃还宣布了一个重要的战略决策:它将停止向子公司极星汽车(P
    的头像 发表于 02-02 10:23 417次阅读

    工厂生产用电提高有功功率的措施有哪些?

    工厂生产过程中,电力是不可或缺的重要资源。为了提高生产效率和生产质量工厂需要确保充足的电力供应,并采取一系列措施来提高有功功率。那么,哪有
    的头像 发表于 10-30 14:43 596次阅读

    有没有什么软件可以提高STM32的开发效率?

    有没有什么软件可以提高STM32的开发效率
    发表于 10-09 07:48

    如何提高SRAM的读取速度

    如何提高SRAM的读取速度
    发表于 09-28 06:28

    沃尔沃汽车官宣SiC功率模块领域首笔投资“落地”

    沃尔沃汽车集团政府消息,臻驱科技投资由力沃尔沃汽车科技基金在电子领域;特别是碳化硅电力模块领域投资的第一个项目投资直接力量沃尔沃
    的头像 发表于 09-08 10:58 334次阅读

    如何提高嵌入式软件单元测试效率

    在本指南中,您将学习如何通过在更短的时间内运行更多的测试来增加您的单元测试吞吐量。 这种效率的提高来自于使用虚拟平台而不是物理硬件作为开发平台。 本指南对任何开发或运行嵌入式软件单元测
    发表于 08-28 06:31

    BlackBerry软件现已部署超过2.35亿辆汽车

    BlackBerry提供经过认证的、在汽车行业中具有领先功能安全与网络安全的嵌入式软件,广受宝马、博世、大陆、东风汽车、吉利、本田、奔驰、丰田、大众、沃尔沃等领先的
    的头像 发表于 06-28 14:38 364次阅读
    BlackBerry<b class='flag-5'>软件</b>现已部署超过2.35亿辆<b class='flag-5'>汽车</b>

    usb开发中如何提高usb传输速度

    小弟在用m452g6ae开发时,用上了芯片内置的usb模块。引用了官网的例程。实际运用当中,我从电脑下载1.2m的图片到外置的flash中(spi接口),时间要2分多钟。不知有什么方法可以提高传输速度?usb方面与spi方面都是
    发表于 06-14 08:04

    嵌入式软件开发基本要素之代码质量

    IAR 的嵌入式开发解决方案涵盖了所有的嵌入式软件开发基本要素,增加了提高生产力和效率的价值,保证了质量,并加快了上市时间。这一切可以通过投资回报率(ROI)和总拥有成本(TCO)的用
    发表于 05-15 16:36 420次阅读
    嵌入式<b class='flag-5'>软件开发</b>基本要素之代码<b class='flag-5'>质量</b>

    JFROGPLATFORM汽车软件开发的高速通道

    汽车制造商需找到方法加速生产及开发,确保质量及可靠性,同时缩短发布周期。JFrog平台是一个端到端的自动化DevOps平台,非常适合管理和协调从代码到生产的所有分布式软件版本。
    的头像 发表于 05-05 10:47 527次阅读
    JFROGPLATFORM<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>的高速通道