深入解析 MISRA 编码规则及 Polyspace 支持情况
1. MISRA 规则概述
MISRA(Motor Industry Software Reliability Association)规则是一系列用于确保 C 和 C++ 代码安全性、可靠性和可维护性的准则。这些规则在嵌入式系统开发等对代码质量要求极高的领域中被广泛应用。其中,MISRA C:2004 和 MISRA C:2012 是比较常用的标准版本。
2. 部分具体规则解析
2.1 库相关规则
- 规则 20.12 :禁止使用
<time.h>库中的时间处理函数。同时,某些宏(如<name>)和标识符(如 XX)也不应被使用。若时间处理函数实际上是宏且被展开,此规则将被判定为违反。不过,该规则的判定假设规则 20.2 未被违反。
2.2 运行时故障规则
- 规则 21.1 :为了将运行时故障最小化,需要至少采用以下一种方法:
- 使用静态验证工具/技术;
- 使用动态验证工具/技术;
- 显式编写检查代码以处理运行时故障。
2.3 Polyspace 不支持的 MISRA C:2004 规则
Polyspace 编码规则检查器不会检查部分 MISRA C:2004 编码规则,原因是这些
MISRA规则与Polyspace支持解析
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



