Polyspace Bug Finder 支持的可判定 MISRA 编码规则
MISRA™ C 和 C++ 标准将可以在所有可能情况下静态强制执行的规则归类为可判定规则。下表摘要了 Polyspace® 对各种 MISRA 标准可判定编码规则的支持情况。
| 标准 | Polyspace 支持的可判定规范数量 | 标准中的可判定规范数量 |
|---|---|---|
| MISRA C™:2023 | 149 | 149 |
| MISRA C:2012 | 149 | 149 |
| MISRA C++:2023 | 156 | 156 |
所有 MISRA C:2012 和 MISRA C:2023 指令均不支持静态强制执行。在检查可判定规则时,Polyspace 会忽略数据流。对于不可达代码,也会报告可判定规则的检查结果。
要从属于以下子集的各种 MISRA 标准中查找可判定的编码规则,请执行以下操作:
打开“检查项选择”对话框:
在 Polyspace 桌面用户界面的配置节点中,找到静态分析选项卡。
在缺陷和编码标准中,选择
使用自定义检查项文件。点击
检查项激活文件 (-checkers-activation-file)旁边的打开。
或者,在命令行中使用命令
polyspace-checkers-selection。在“检查项选择”窗口中,点击新建以创建一个新的检查项文件。可选择取消选择已选中的编码规则。
选择任意 MISRA 编码规范,但不包括 MISRA C++:2008,因为该规范未按静态可强制性对规则进行分类。
要选择系统可判定的编码规则,请选择可判定。
将您的选择保存为 XML 文件。
XML 文件中的内容列出了被 MISRA 归类为可判定的编码规则。