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