MISRA-C-:2004 规则分为 21 类,覆盖从「开发环境」到「运行期错误」,包含 141 项规则,其中 121 项是强制要求,其余的 20 项是推荐使用的规则。 本文以产品安全为目标,提炼部分 MISRA-C 语言的编码规范,提高企业级产品的代码可靠性、可读性和可移植性。 1. 质量保证 软件工程师编码时,应该根据标准《MISRA-C...
保证嵌入式系统的代码质量 -- MISRA-C编程规范与C语言自动化代码复审 IBM 软件部 张剑平 ? 2006 IBM Corporation IBM Software Group | Rational software 内容提要 ? 代码复审的重要性 ? C代码复审的依据:MISRA-C ? 自动化的C代码复审 ? IBM Software Group | Rational software 缺陷的代价 ? 安全关键系统 (...
MISRA C: 2004 背离的规则 1 2.2(强制) 源代码应该使用 /*…*/ 类型的注释背离原因:在代码中大量使用了//类型的注释,S15项目选择背离,将作为后续开发的注释规范 2 5.5(建议) 具有静态存储期的对象或函数标识符不能重用背离原因:大量重用了i、j、temp这样的变量名,将作为后续软件开发建议性的命名规范(...
的代码范围,进行四个大类别的规则检验,并定位代码中违反规则的具体位置和违规信息,同时进行直观化显示.本文通过对MISRA C规则自动化检查方法平台的设计与实现,证明了自动化检查编程规则理论的可行性,利用该方法可以自动检测出程序中的不符合编程规则的代码,帮助程序员尽早发现程序中的安全隐患,提高程序的正确性,规范性,...
[-]X.A-C 使能 (或者禁止) X主题下从规则A到规则C的检查。 举例说明:--check_misra=1-5,-1.1,8.2-4的含义是: 检查从主题1到主题5的规则。(不清楚的网友可以去搜索MISRA规范,1.环境;2.语言扩展;3.文档;4.字符集;5.标识符) 禁止规则1中1.1条目的规则(规则1.1(强制): 所有代码都必须遵照ISO 9899:...
重用旧代码是现实,但是在安全关键型软件项目中重用旧代码并实现MISRA C 2012的完全合规性是艰巨的任务。 最初的MISRA原则是为了在开发代码时应用而创建的,即使文档本身也有警告: “……在项目周期的后期检查MISRA C符合性的项目可能会花费大量时间进行重新编码、重新审查和重新测试。因此,预计软件开发过程将需要尽早应...
重用旧代码是现实,但是在安全关键型软件项目中重用旧代码并实现MISRA C 2012的完全合规性是艰巨的任务。 最初的MISRA原则是为了在开发代码时应用而创建的,即使文档本身也有警告: “……在项目周期的后期检查MISRA C符合性的项目可能会花费大量时间进行重新编码、重新审查和重新测试。因此,预计软件开发过程将需要尽早应...
MISRA C++的起源可以追溯到MISRA C标准的成功制定和广泛应用。MISRA C是一套针对C语言的编码规范,首次发布于1998年,它迅速成为汽车行业中软件安全性和可靠性的标杆。(回顾MISRA C:2012介绍请见文章带你走近MISRA C:2012)随着C++在工业界的普及,尤其是在汽车电子控制系统中,对C++的类似规范的需求日益增长。基于MISRA...
MISRQ_C_2012_Config.lnt; 所有规则已启用 包括定义文件:au-misra3.lnt(12-Jun-2014) 额外的 Lint 命令(对于单个和多个文件): - emacro(835,osRtxConfigPrivilegedMode) C 源代码注释了 PC-Lint 控制注释以允许 MISRA 偏差。下面描述这些与下层设计决定的偏差。 偏差 RTX 源代码与 MISRA 存在以下偏差: [MI...
规则并不是完美的,通过禁止在特定情况下有用的特性,可能会对代码实现造成影响。但是我们制定规则的目的“为了大多数程序员可以得到更多的好处”, 如果在团队运作中认为某个规则无法遵循,希望可以共同改进该规则。参考该规范之前,希望您具有相应的C语言基础能力,而不是通过该文档来学习C语言。 了解C语言的ISO标准; ...