MISRA C
词条百科 2
目录
MISRA C
MISRA C是一套由MISRA联盟开发的C编程语言的软件开发指南。它的目的是促进嵌入式系统的代码安全、安保、可移植性和可靠性,特别是那些用ISO C / C90 / C99编程的系统。
还有一套针对MISRA C++的指南,不在本文的讨论范围之内。
历史
- 草案。1997年
- xxx版。1998年(规则、要求/建议)
- 第二版:2004年(规则、要求/建议)
- 第三版:2012年(指令;规则,可确定/不可确定)
- MISRA合规性:2016年,2020年更新
对于MISRA-C的前两个版本(1998年和2004年),所有准则被认为是规则。随着MISRA C:2012的出版,引入了一个新的准则类别–其合规性更容易解释的指令,或与过程或程序性事项有关的指令。
采用
虽然最初专门针对汽车行业,但MISRA C已经发展成为一个最佳实践模型,被汽车、航空航天、电信、医疗设备、国防、铁路和其他行业的xxx开发商广泛接受。例如。
- 联合攻击战斗机项目的C++编码标准是基于MISRA-C:1998的。
- NASA喷气推进实验室的C语言编码标准是基于MISRA-C:2004。
- ISO 26262功能安全-道路车辆引用MISRA C作为C语言的适当子集。
- ISO 26262-6:2011第6部分:软件级产品开发参考MISRA-C:2004和MISRA AC AGC。
- ISO 26262-6:2018第6部分:软件级产品开发参考MISRA C:2012。
- AUTOSAR通用软件规范(SRS_BSW_ 00007)也参考MISRA C:
- AUTOSAR 4.2通用软件规范要求,如果BSW模块的实现是用C语言编写的,它应符合MISRA C:2004。
- AUTOSAR 4.3通用软件规范要求,如果BSW模块的实现是用C语言编写的,它应符合MISRA C:2012。
代码分类和归类
当一个新的软件项目开始时,应使用最新的MISRA标准。以前的标准仍可用于需要参考的遗留软件项目。
实现合规性
MISRA合规性
MISRA已发布文件,为理解和实现MISRA合规性提供额外的指导。
- MISRA合规性:2016,由MISRA于2016年4月出版。
- 《MISRA合规性:2020》,修订版,2020年2月出版。
合规性
为了使一个软件声称符合MISRA C指南,所有的强制性规则都应得到满足,所有要求的规则和指令都应得到满足,或受到正式的偏离。
- 咨询规则可以在没有正式偏离的情况下消失,但这仍应在项目文件中记录。
注意:在合规性方面,规则和指令之间没有区别。
偏离
许多MISRA C的规则可以被描述为指南,因为在某些条件下,软件工程师可以偏离规则,但仍被认为是合规的。偏差必须记录在代码或文档中。此外,必须证明软件工程师已经考虑了系统的安全性,而且偏离规则不会产生负面影响。对偏离的要求还包括。
内容来源于网络,本内容不代表16map.com立场,内容投诉举报请联系16map.com客服。如若转载,请注明出处:https://16map.com/wiki/nmjeaixlmide