При проверке кода на наличие нарушений MISRA C ®: 2012 Polyspace ® импортирует обоснования нарушений MISRA C: 2004 из предыдущих анализов (если они существуют). Вы можете перейти от проверки правил MISRA C: 2004 к правилам MISRA C: 2012 с сохранением обоснований. Общие правила импорта комментариев см. в разделе Импорт сведений проверки из предыдущего анализа полиспейса.
Программа сопоставляет значения MISRA C: 2004 Status, Severity и Comment, добавленные через интерфейс пользователя или аннотации кода, с соответствующими результатами MISRA C: 2012, если результаты существуют. Дополнительную информацию о картировании см. в добавлении 1 к публикации MISRA C: 2012.

Если вы переходите от MISRA C: 2004 к MISRA C: 2012, вам не придется пересматривать результаты, которые вы уже оправдали.

Когда вы оправдываете нарушения MISRA C: 2004 с помощью синтаксиса кодового блока или синтаксиса многострочных аннотаций, а несколько нарушений сопоставляются с одним и тем же правилом MISRA C: 2012, Polyspace не импортирует каждое выравнивание результата. Вместо этого программа импортирует только один набор значений состояния, серьезности и комментария и применяет эти значения ко всем экземплярам данного нарушения правила MISRA C: 2012.
Например, предположим, что вы проанализируете код и обнаружите нарушения правил 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
Предыдущие нарушения соответствуют правилу 8.2 MISRA C: 2012. При проверке аннотированного кода на соответствие правилам MISRA C: 2012 Polyspace импортирует только первую строку аннотаций (для правила 16.3) и применяет ее ко всем результатам правила 8.2. Вторая строка аннотаций для правила 16.5 игнорируется. На панели Список результатов (Results List) для всех нарушений правила 8.2 в столбце Статус (Status) установлено значение Status 1 и столбец Комментарий имеет значение "Explanatory comment 1".
Примечание
На панели Сводка вывода (Output Summary) отображается предупреждающее сообщение для каждого результата, в котором импортированная аннотация конфликтует с исходной аннотацией. После импорта аннотаций MISRA C: 2004 убедитесь, что результатам, которые вы хотите исследовать или исправить, не присвоен обоснованный статус.
Check MISRA C:2004 (-misra2) | Check MISRA C:2012 (-misra3)