Polyspace Bug Finder对MISRA C:2012规则的支持
1. 可判定的MISRA C:2012规则
MISRA C:2012标准将在所有可能情况下都能进行静态强制执行的规则归类为可判定规则。Polyspace支持全部122条此类规则,而MISRA C:2012的所有指令都无法进行静态强制执行。
1.1 部分可判定规则介绍
以下是一些常见的可判定规则及其描述:
| MISRA C:2012规则 | 描述 | Polyspace检查器 |
| — | — | — |
| Rule 10.1 | 操作数的基本类型应合适 | Rule 10.1 |
| Rule 10.2 | 基本字符类型的表达式不应在加减运算中被不恰当地使用 | Rule 10.2 |
| Rule 10.3 | 表达式的值不应赋给基本类型更窄或基本类型类别不同的对象 | Rule 10.3 |
| Rule 11.1 | 不应在函数指针和其他类型之间进行转换 | Rule 11.1 |
| Rule 12.1 | 表达式中运算符的优先级应明确 | Rule 12.1 |
| Rule 13.3 | 包含自增(++)或自减(–)运算符的完整表达式,除了自增或自减运算符引起的副作用外,不应有其他潜在副作用 | Rule 13.3 |
| Rule 14.4 | if语句和迭代语句的控制表达式应具有基本布尔类型 | Rule 14.4 |
| Rule 15.1 | 不应使用goto语句 | Rule 15.1 |
| Rule 16.1 | 所有switch语句应格式正确 | Rule
超级会员免费看
订阅专栏 解锁全文
21

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



