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 等汽车软件开发标准,汽车制造商将自己置于最佳位置,以避免与错误软件相关的风险。

审核编辑:郭婷

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

    关注

    3047

    文章

    9097

    浏览量

    173125
  • C++
    C++
    +关注

    关注

    22

    文章

    2129

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    一文讲透:汽车安全三大核心标准ISO26262/21448/21434的核心区别

    国内强制性适配标准为GB/T 34590。它的诞生,正是为了应对汽车上越来越多的电子电气系统,解决因系统行为异常导致的人身伤害风险,是所有汽车电子系统安全的基础。 核心定义与管控对象
    发表于 04-16 09:56

    汽车ASPICE落地:企业高频常见问题深度汇总(下)

    ,从研发全流程管控软件质量,大幅降低软件缺陷率,减少产品召回、客户投诉的风险避免巨额商业损失。 二、核心管理与技术价值 建立标准化研发体系
    发表于 04-15 10:14

    汽车电子 ASPICE 落地全流程指南:从客户需求到证书获取(一)

    :通过标准化的流程框架,规范汽车电子软件从需求、设计、开发、测试、验证的全生命周期管理,从源头管控软件缺陷,降低整车研发与量产阶段的故障
    发表于 04-09 10:29

    知识分享 | ISO 25119标准在农业机械软件开发中的应用

    知识分享在知识分享栏目中,我们会定期与读者分享来自MES模赛思的基于模型的软件开发相关Know-How干货,关注公众号,随时掌握基于模型的软件设计的技术知识。ISO25119标准在农业
    的头像 发表于 04-08 10:03 109次阅读
    知识分享 | ISO 25119<b class='flag-5'>标准</b>在农业机械<b class='flag-5'>软件开发</b>中的应用

    汽车网络安全 ISO/SAE 21434是什么?(一)

    ISO/SAE 21434全称为《Road vehicles—Cybersecurity engineering》(道路车辆—网络安全工程),是汽车行业首个全球统一的网络安全工程国际标准,由
    发表于 04-07 10:37

    功能安全ISO26262是什么?(一)

    的方法可以是优化开发流程、增加安全机制等等。 以上便是从标准出现、标准目的、标准结构以及标准本质四个方面为大家介绍ISO26262是什么。
    发表于 04-02 14:55

    AMD与微软与西门子合作加速软件定义汽车发展

    AMD 日前宣布推出新功能,旨在依托微软 Azure云平台上的云端仿真和数字孪生技术,支持汽车软件的前移式开发。通过采用前移式开发方法,OEM 厂商和一级供应商能够提升
    的头像 发表于 01-23 09:15 2129次阅读

    机器学习和深度学习中需避免的 7 个常见错误与局限性

    无论你是刚入门还是已经从事人工智能模型相关工作一段时间,机器学习和深度学习中都存在一些我们需要时刻关注并铭记的常见错误。如果对这些错误置之不理,日后可能会引发诸多麻烦!只要我们密切关注数据、模型架构
    的头像 发表于 01-07 15:37 345次阅读
    机器学习和深度学习中需<b class='flag-5'>避免</b>的 7 个常见<b class='flag-5'>错误</b>与局限性

    汽车软件质量跃迁的系统性路径:基于ISO 26262标准的单元测试体系重构与中日实践深度对比(2026学术研究报告)

    %源于软件逻辑错误,其中32%因单元测试边界条件未覆盖(TÜV SÜD《2024汽车软件召回分析》)。典型案例包括某新势力车企因制动模块未测试导致1.2万辆召回,损失超5亿元。 1.2
    发表于 01-05 14:58

    C语言单元测试在嵌入式软件开发中的作用及专业工具的应用

    由DMA控制器竞争条件引发的隐蔽错误。 在丰田某混动车型开发中,winAMS的编译器级代码解析技术提前6个月识别出电机控制器PWM信号占空比计算中的整数溢出风险避免量产后的召回损失(
    发表于 12-18 11:46

    知晓常见的铜缆安装错误避免

    铜缆(如网线、电话线等)是网络和数据传输的基础设施,但在安装过程中,由于操作不当或忽视细节,常出现各种错误,导致网络性能下降甚至故障。以下是常见的铜缆安装错误及预防措施,帮助您避免踩坑: 一、线缆
    的头像 发表于 09-16 10:42 1275次阅读

    干货分享 | 如何利用MBSE赋能汽车中控锁安全开发

    随着汽车智能化、网联化加速演进,电子控制系统复杂度呈指数级增长,开发周期与质量要求日益严苛。然而,传统的“文档驱动”开发模式在应对复杂系统时,其效率与协同瓶颈日益凸显:信息孤岛,追溯低效:需求
    的头像 发表于 08-13 17:20 5478次阅读
    干货分享 | 如何<b class='flag-5'>利用</b>MBSE赋能<b class='flag-5'>汽车</b>中控锁安全<b class='flag-5'>开发</b>

    电商API常见错误排查指南:避免集成陷阱

      在电商平台开发中,API集成是连接系统、实现数据交换的核心环节。然而,许多开发者在集成过程中常遇到错误,导致项目延迟、数据丢失或用户体验下降。本文将逐步介绍常见错误类型、排查方法以
    的头像 发表于 07-11 14:21 2293次阅读
    电商API常见<b class='flag-5'>错误</b>排查指南:<b class='flag-5'>避免</b>集成陷阱

    避免生产风险:文件审核在PCBA流程中的作用

    在PCBA制造流程中,从设计文件上传开始,就已经开启了质量控制与风险把控的第一步。对于一站式PCBA服务平台来说,文件审核不仅关乎后续生产的准确性,更直接影响到项目的整体进度和最终交付质量。 很多开发
    的头像 发表于 04-30 17:55 740次阅读

    芯片软错误概率探究:基于汽车芯片安全设计视角

    摘要: 本文深入剖析了芯片软错误概率问题,结合 AEC-Q100 与 IEC61508 标准,以 130 纳米工艺 1Mbit RAM 芯片为例阐述其软错误概率,探讨汽车芯片安全等级划
    的头像 发表于 04-30 16:35 1012次阅读
    芯片软<b class='flag-5'>错误</b>概率探究:基于<b class='flag-5'>汽车</b>芯片安全设计视角