深入理解Polyspace代码验证结果解读与管理
1. MISRA C规则注解映射问题
在使用代码块语法或多行注解语法对MISRA C: 2004违规进行说明时,如果多个MISRA C: 2004违规映射到同一个MISRA C: 2012规则,Polyspace不会导入每个结果的说明。例如,分析代码发现MISRA C: 2004规则16.3和16.5的违规,使用注解语法为每个规则输入不同的状态和解释性注释:
//polyspace-begin misra2004:16.3 [Status 1] "Explanatory comment 1"
//polyspace-begin misra2004:16.5 [Status 2] "Explanatory comment 2"
code block start;
/* This block of code contains violations of
MISRA C:2004 rules 16.3 and 16.5 */
code block end;
//polyspace-end misra2004:16.3
//polyspace-end misra2004:16.5
这些违规映射到MISRA C: 2012规则8.2。当根据MISRA C: 2012规则检查带注解的代码时,Polyspace仅导入第一行注解(规则16.3)并应用于所有规则8.2的结果,规则16.5的第二行注解被忽略。在结果列表窗格中,规则8.2的所有违规的状态列都设置为Status 1,注释列设置为”Explanatory comment 1”。输出摘要窗格会为每个导入注解与原始注解冲
超级会员免费看
订阅专栏 解锁全文
208

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



