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

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

3天内不再提示

利用汽车开发标准避免与错误软件相关风险

星星科技指导员 来源:嵌入式计算设计 作者:Arthur Hicken,Adam 2022-08-12 11:18 次阅读

ISO 26262、MISRA 和其他标准旨在通过为在软件开发过程中实施工程概念提供基础来规范汽车应用程序的软件开发。一些组织将遵守 ISO 26262 和其他标准视为增加开销的负担,但事实是,与软件缺陷相关的失败成本远远高于确保质量的成本。

什么是 ISO 26262,我为什么要关心?

ISO 26262 是一项功能安全标准,旨在应用于汽车电气和/或电子 (E/E) 系统的软件开发。它旨在通过提供可行的要求和流程,将与安全功能软件相关的风险降低到可容忍的水平,例如:

汽车应用的功能安全管理

汽车应用的概念阶段

用于汽车应用的系统级产品开发

软件架构设计

汽车应用硬件级别的产品开发

软件单元测试

汽车应用软件级别的产品开发

生产、运营、服务和退役

支持过程:分布式开发中的接口、安全管理要求、变更和配置管理、验证、文档、软件工具的使用、软件组件的认证、硬件组件的认证和使用证明的论证

面向汽车安全完整性等级 (ASIL) 和面向安全的分析

需要明确的是,ISO 26262 不是强制性的(尽管考虑到最近所有围绕汽车安全缺陷的头条新闻,它可能成为强制性的)。法律只是规定您应该根据当前的最佳实践来开发软件——在汽车领域是 ISO 26262。ISO 26262 带来的是基于一些软件开发最佳实践多年研究的操作指南。该领域最有经验的人。

ISO 26262 的美妙之处在于,尽管它旨在用于安全关键功能,但原则上它可以应用于您关心的任何软件组件。如果您认为您的集成信息娱乐系统是市场上的业务差异化因素,请根据 ISO 26262 进行开发,并确保它是最先进的系统,值得升级到高级模型。

MISRA 呢?

ISO 26262 类似于说,如果你想活得更久,就应该锻炼和饮食。但是,如果您的运动知识仅限于举起重物,或者您对什么是好食物的了解是早上的生鸡蛋,那该怎么办?

这就是 MISRA 标准的用武之地。C 和 C++ 的 MISRA 标准系列,包括 1998 年、2004 年和最近的 2012 年版本,告诉软件工程师在编写代码时什么是好的做法,什么是不好的做法。回到我们的比喻,MISRA 告诉您哪些食物对您有益,以及什么是安全、可靠的锻炼。

如何实施 ISO 26262 和 MISRA?

实现对 ISO 26262 和 MISRA 的合规性首先要以政策的形式承诺最佳实践。需要明确的是,政策不是建议或推荐行为的指导方针。策略是一种自动可执行的声明,以通俗易懂的语言规定软件应该如何开发——以及为什么应该以这种方式开发。该政策必须明确声明:

必须根据 ISO 26262 定义的软件开发生命周期 (SDLC) 开发软件

如果下游分包商没有提供足够的可追溯性证明符合标准,则不会接受代码

您的开发策略应该有类似的语言来指定符合 MISRA 编码指南。这为制造商提供了另一种形式的验收测试,他们可以执行以验证从下游供应商收到的软件。

图 1: ISO 26262 定义的软件开发生命周期 (SDLC)。

(点击图片放大)

pYYBAGL1xxGAT-sLAAGGYsMcDVA533.png

从功能上讲,这意味着应用开发测试活动,例如静态代码分析、单元测试、同行评审和运行时错误检测,以确保根据这些策略开发代码。市场上有几种工具以静态分析规则的形式实施 MISRA 指南(完全披露,我们为销售这些工具的公司工作)。每个工具都有自己的执行编码标准的方法,因此您需要研究适合您的环境、预算等的最佳工具。

静态分析

这种做法已经存在了很长时间,并且仍然是一种廉价(就专用开发资源而言)的方式来挑选代码中容易实现的成果。尽管由于维护、参数化、极端情况和需要人类智能的活动的其他方面,有许多自动测试生成解决方案,单元测试在资源方面要昂贵得多。也就是说,失败的成本仍然大大超过了测试的成本。

同行代码审查

此过程要求软件工程师提交他们的代码以作为开发过程的常规部分进行审查,并且被认为是确保软件质量的最有效活动。与单元测试一样,此活动需要您花费资源,但如果它可以防止需要召回的缺陷,则成本可以忽略不计。

运行时错误检测 (RED)

RED 监控代码执行,以便梳理出仅在运行时出现的构造,并且应该作为验证和验证过程来实现。RED 可帮助您找到导致竞争条件、异常、资源和内存泄漏、安全漏洞和其他难以发现的缺陷的代码。简而言之,它是软件的仪表,就像仪表和记录仪是硬件的仪表一样。

覆盖分析

如果没有衡量测试覆盖了多少代码,您将无法知道您是否进行了足够的测试。覆盖分析本身并没有什么作用,但是当与单元测试等活动结合使用时,覆盖分析可以提供有关您的软件的宝贵信息。

结论

随着我们曾经简单的产品变得“更智能”,软件无处不在,并将继续发挥更大的作用。在汽车开发中尤其如此,这在确保嵌入式应用的安全性和可靠性方面提出了独特的挑战。汽车将安全关键软件与业务差异化软件相结合,所有这些软件都是以高度分布式的方式开发的。

底线是汽车应用的端到端测试过于昂贵和复杂。另一方面,软件故障的成本应该成为寻找降低风险方法的动力。通过应用 ISO 26262 和 MISRA 等汽车软件开发标准,汽车制造商将自己置于最佳位置,以避免与错误软件相关的风险。

审核编辑:郭婷

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

    关注

    3023

    文章

    7840

    浏览量

    166138
  • C++
    C++
    +关注

    关注

    21

    文章

    2104

    浏览量

    73469
收藏 人收藏

    评论

    相关推荐

    新思科技助力汽车制造商加速推进SDV开发

    如今,软件和创新型半导体技术对汽车行业的影响日益凸显。随着软件内容的不断增多,无论是软件本身还是半导体组件,都面临着更大的故障风险。幸运的是
    的头像 发表于 11-06 16:55 314次阅读

    软件与半导体技术重塑汽车行业:新思科技助力提升汽车智能化与可靠性

    随着软件内容的激增,汽车行业正面临前所未有的挑战,其中软件及半导体组件的故障风险日益凸显。然而,汽车制造商正积极采取措施以降低这些潜在
    的头像 发表于 11-06 14:09 410次阅读

    丰田与NTT合作开发自动驾驶软件

    近日,丰田汽车公司与日本电报电话公司(NTT)宣布了一项重要合作——联手开发自动驾驶软件。据悉,该项目将利用人工智能技术对驾驶数据进行深度分析,以预测可能发生事故的
    的头像 发表于 10-30 16:11 173次阅读

    具有错误触发避免功能的过零检测

    电子发烧友网站提供《具有错误触发避免功能的过零检测.pdf》资料免费下载
    发表于 09-23 11:41 0次下载
    具有<b class='flag-5'>错误</b>触发<b class='flag-5'>避免</b>功能的过零检测

    使用MATLAB、Simulink和Polyspace加速软件定义汽车开发

    开发软件定义汽车 (SDV) 时,开发团队必须具备新的能力,例如进行连续的软件发布,减少软件更改的交付周期以及尽可能减少部署失败。同时,平台
    的头像 发表于 09-05 09:57 326次阅读
    使用MATLAB、Simulink和Polyspace加速<b class='flag-5'>软件</b>定义<b class='flag-5'>汽车</b><b class='flag-5'>开发</b>

    【《软件开发珠玑》阅读体验】居安思危之风险

    感谢电子发烧友论坛提供的读书机会。 本书分享了关于软件开发和管理的 60 条经验教训,第32条提到面对风险,要么控制项目风险,要么被它反杀。 1.什么是风险? 知名理财顾问卡尔理查兹曾
    发表于 07-09 12:48

    2024 ACT汽车软件与安全技术周 龙智即将携全方位汽车软件开发解决方案亮相,助力应对汽车软件开发功能安全

    2024年7月18-19日(周四-周五),2024第三届ACT汽车软件与安全技术周将在上海佘山翰悦阁酒店举办。 龙智即将携汽车开发及管理解决方案创新亮相,并在
    的头像 发表于 07-08 16:17 496次阅读
    2024 ACT<b class='flag-5'>汽车</b><b class='flag-5'>软件</b>与安全技术周 龙智即将携全方位<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>解决方案亮相,助力应对<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>功能安全

    汽车软件开发者的必修课:ASPICE 4.0主要特点、优势及与之前版本的变化之处

    ASPICE(汽车SPICE)4.0是专为汽车行业量身定制的过程评估模型,旨在确保软件和系统开发过程的质量和可靠性。它是更广泛的 ISO/IEC 330xx 系列
    的头像 发表于 06-26 13:20 589次阅读
    <b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>者的必修课:ASPICE 4.0主要特点、优势及与之前版本的变化之处

    PCB线路板制造中常见的错误有哪些,如何避免?

    您在PCB设计过程中避免常见错误避免常见PCB设计错误的方法 1. 简化设计:复杂的PCB设计会增加制造复杂度,可能导致功能问题。与PCB制造商密切合作,以确保以最简单和经济的方式
    的头像 发表于 06-07 09:15 427次阅读

    韩国研究团队开发出新铝合金 可降低电动汽车起火风险

    in the Advanced Metals Division)的Hyeon-woo Son博士及其研究团队成功开发出用于电动汽车的铝合金,这种合金具有显著的热稳定性,能够有效降低电动汽车在充电、放电等过程中的温度波动
    的头像 发表于 05-29 11:06 918次阅读

    星宸科技通过ASPICE CL2级认证,以国际软件开发标准守护产品质量

    2024年1月5日,国际独立第三方检测、检验和认证机构德国莱茵TÜV大中华区(简称“TUV 莱茵”)为星宸科技颁发ASPICE L2评估认证证书,标志着星宸科技软件开发流程体系已达到国际标准,完全满足全球汽车厂商和Tier1合作
    的头像 发表于 03-21 09:32 715次阅读
    星宸科技通过ASPICE CL2级认证,以国际<b class='flag-5'>软件开发标准</b>守护产品质量

    汽车软件开发CAEdge框架关键技术

    软件定义汽车中,汽车功能主要通过软件实现,不再仅仅依赖硬件。这种将软件与硬件解耦的方式使得新功能和软件
    发表于 01-24 14:16 500次阅读
    <b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>CAEdge框架关键技术

    软件测试工作中常见的风险有哪些

    立项时,勤思考,有哪些需求在会上没理解到位; 2)测试过程中,对有疑惑的点、不确定的需求点问产品或开发,别等到项目快上线自己还没弄明白; 3)测试完成后,还有需求改动,召集相关人员沟通风险,尽量减少这样的事情发生。 ** 2、测
    的头像 发表于 12-27 10:35 927次阅读

    如何规避软件测试项目的风险

    立项时,勤思考,有哪些需求在会上没理解到位; 2)测试过程中,对有疑惑的点、不确定的需求点问产品或开发,别等到项目快上线自己还没弄明白; 3)测试完成后,还有需求改动,召集相关人员沟通风险,尽量减少这样的事情发生。 ** 2、测
    的头像 发表于 12-20 13:06 481次阅读

    PCB翘曲度标准是多少?如何避免

    PCB翘曲度标准是多少?如何避免
    的头像 发表于 11-23 09:04 1379次阅读
    PCB翘曲度<b class='flag-5'>标准</b>是多少?如何<b class='flag-5'>避免</b>?