一文读懂MISRA规范,以及为什么汽车、航空等行业运用它 ...

2022-11-12 09:16| 发布者: 挖安琥| 查看: 169| 评论: 0

摘要: MISRA C是由汽车产业软件牢靠性协会(Motor Industry Software Reliability Association)提出的C言语开发规范,目的是在促进嵌入式系统的保险性及可移植性。一开端,MISRA C主要是针对汽车产业 ,展开过程中,其他 ...

MISRA C是由汽车产业软件牢靠性协会(Motor Industry Software Reliability Association)提出的C言语开发规范,目的是在促进嵌入式系统的保险性及可移植性。


一开端,MISRA C主要是针对汽车产业 ,展开过程中,其他产业也逐步开端运用MISRA C,包含航空、电信、国防、医疗设备、铁路等范畴。


阅读本文,您将了解到嵌入式编码的两种关键言语,以及如何经过MISRA来改进嵌入式编码。龙智作为DevSecOps研发保险运营一体化处置计划供给商、Perforce受权协作同伴,持续关注静态测试范畴动态与展开,为您提供功用保险和规范合规抢先的静态代码剖析器,并带来最新洞察与最佳理论参考。联络我们,立刻了解C/C ++言语最佳静态代码剖析器Helix QAC如何帮您完成自动化应用MISRA规则。

一文读懂MISRA规范,以及为什么汽车、航空等行业运用它 ...


嵌入式编码为装置在大型设备上的系统提供动力,好比汽车、飞机或医疗设备等,这些系统被设计来执行特定的专用功用。


每个专用功用都经过嵌入式编码完成的。这段代码必须是牢靠且无错误的,由于任何漏洞都可能对嵌入式系统的保险性构成消灭性结果。因而,应用编码规范(如MISRA)来确保代码的牢靠性和质量是十分必要的。


本篇文章将解释如何运用MISRA改进嵌入式编码。


为什么牢靠的代码关于嵌入式编码来说必不可少?

嵌入式软件赋能世界上最重要的系统。它被用于:


  • 人们每天驾驶的汽车
  • 维持生命的心脏监视器(和其他医疗设备)
  • 环绕世界飞行的飞机

因而,编码错误是完整不允许发作的。


这就是为什么嵌入式编程需求恪守规则的缘由——确保代码是保险、牢靠且有保障的。而这些规则可能会依据所运用的编程言语而有所不同。


嵌入式编码和系统的2种关键编程言语

大多数嵌入式系统都是用C和C++编程的。


这是由于C和C++允许对硬件中止低级控制。C和C++支持嵌入式软件的复杂性。同时,运用这些言语可生成高效的代码。


另外,还由于程序员中有很大比例在运用C和C++,而且他们能够坚持最佳性能——这关于嵌入式系统来说是关键。


如何运用MISRA中止嵌入式编码

许多嵌入式行业都有严厉的保险合规规范,而这些规范常常需求运用编码规范。


嵌入式软件有几种不同的C和C++编码规范可供选择。MISRA 是最值得信任的编码规范之一。MISRA规则能够确保代码契合行业规范。它辅佐您减少循环复杂性,并进步代码的质量。


下面是不同行业的开发人员如何运用MISRA进步代码质量的三个例子。


1. MISRA辅佐改善嵌入式汽车代码


汽车开发人员置信MISRA能够辅佐他们确保代码变得更好。由于MISRA是汽车行业质量和合规性的基准。


“一个客观事实是,MISRA曾经被公以为是基准,并已被整个日本汽车行业采用,掩盖从OEMS不时到芯片级的整个供给链。”
——Socionext 公司

ISO 26262合规性


汽车行业需求恪守ISO 26262这一功用保险规范。


ISO 26262对汽车保险完好性等级(ASIL) (A到d)有着严厉的请求。它倡议运用编码规范来确保契合ASIL,并强调了MISRA编码规范。


Protean Electric公司运用Helix QAC来应用MISRA C规则,这对他们恪守ISO 26262带来了很大的辅佐。此外,Helix QAC能够发现其他工具遗漏的问题。因而,Protean不用担忧呈现误报。


稳定的代码质量


Delphi汽车公司也运用Helix QAC来应用MISRA C规则,辅佐他们的开发人员采用最佳编码理论,并确保了无论个人阅历如何,一切开发人员的代码质量都能一直如一。


2.MISRA提供更好的嵌入式铁路代码


铁路系统开发人员也信任MISRA能提供更好的代码。


“MISRA是显而易见的选择。它最初由汽车行业创建,是历史最长久、最受尊崇的规范之一,并被多个保险相关市场普遍采用。”
—— Viveris Technologies

EN 50128合规性


铁路行业需求契合功用保险规范EN 50128。


EN 50128有五个软件保险完好性等级(SSIL),范围从SSIL0到SSIL4。为了契合一切SSIL的请求,引荐运用一个编码规范,但SSIL3和SSIL4是强迫的。


该编码规范必须:


  • 避免运用未定义或未指定的行为
  • 避免程序员犯常见错误
  • 限制某些结构的运用
  • 消弭潜在的歧义
  • 限制库的运用

MISRA满足这些请求,并辅佐确保您的软件质量。


Viveris Technologies运用Hlix QAC来应用MISRA规则,并满足EN 50128的合规性请求。这确保了他们的无人驾驶列车——里昂地铁是保险、牢靠的。


精确的诊断


关于Viveris来说,精确的代码诊断与合规性同样重要。


经过运用Helix QAC,他们取得了比运用其他工具更好的MISRA C规则掩盖率。真正的问题被辨认并修复。并且误报更少。


因而,他们的代码变得更好了,时间也得到了更好的应用。


3. MISRA提供更好的嵌入式航空航天代码


航空航天开发人员也信任MISRA能够提供更好的代码。


MISRA规则集来自一些世界抢先的编码专家。它适用于(并被普遍采用)任务关键型战争安关键型行业——包含航空航天。


DO-178C合规性


航空航天业需求恪守功用保险规范DO-178C。


DO-178C包含从A到E的五个保险级别。恪守这些保险级别需求一个编码规范,例如MISRA。


Selex ES公司运用MISRA C++作为他们的编码规范,并确保MISRA契合Helix QAC。


确保质量——即便在自动生成的代码中


Selex ES还运用Helix QAC、MISRA C和C++ 规则来确保其嵌入式编程的质量。他们以至在自动生成的代码上运用它。这意味着他们能够确保嵌入式软件的质量,并加快开发时间。


嵌入式编码如何完成MISRA合规性

为了契合MISRA编码规范,您需求应用MISRA规则。这能够在代码检查期间手动完成,或者能够运用静态代码剖析器自动完成。


但是,并不是一切的静态代码剖析器都是相同的。关于MISRA,不同工具的精确性有差别,而Helix QAC是MISRA C和C++最精确的静态剖析器。


运用Helix QAC完成MISRA合规性的示例


观看这个藐视频,您能了解到Helix QAC是如何使编码更容易契合MISRA C:2012。



作者简介:

一文读懂MISRA规范,以及为什么汽车、航空等行业运用它 ...理查德·贝莱尔斯(Richard Bellairs)


产品营销经理,Perforce


理查德·贝莱尔斯具有超越20年的跨行业工作阅历。在90年代和21世纪初,他在制造、国防、测试和丈量行业担任电子和软件工程职位,之后转向产品管理和产品营销。往常,他支持Perforce市场抢先的代码质量管理处置计划。理查德具有谢菲尔德大学的电子工程学士学位和英国特许营销协会 (CIM) 的市场营销专业文凭。



路过

雷人

握手

鲜花

鸡蛋
已有 0 人参与

会员评论

 名表回收网手机版

官网微博:名表回收网服务平台

今日头条二维码 1 微信公众号二维码 1 抖音小程序二维码 1
浙江速典奢贸易有限公司 网站经营许可证 备案号:浙ICP备19051835号2012-2022
名表回收网主要专注于手表回收,二手名表回收/销售业务,可免费鉴定(手表真假),评估手表回收价格,正规手表回收公司,浙江实体店,支持全国范围上门回收手表
返回顶部