Примечание
Запуская R2017b, Polyspace использует более простой формат аннотации. Смотрите Аннотируют Код и Скрывают Известные или Приемлемые результаты.
Если Polyspace находит дефекты в вашем коде, который вы не можете или не фиксировать, можно добавить аннотации в код. Эти аннотации являются комментариями к коду, которые указывают на известные или приемлемые дефекты или кодирующий нарушения правила. При помощи этих аннотаций вы можете:
Постарайтесь не повторно рассматривать дефекты или кодировать нарушения правила от предыдущих исследований.
Сохраните комментарии анализа и классификации.
Примечание
Аннотации исходного кода не применяются к комментариям к коду. Вы не можете аннотировать эти правила:
Правила 2.2 и 2.3 MISRA C®:2004
Правила 3.1 и 3.2 MISRA C:2012
Правило 2-7-1 MISRA-C++
JSF ++ правила 127 и 133
Этот метод показывает вам, как преобразовать комментарии анализа и классификации в интерфейсе Polyspace в аннотации кода.
На Results List или панели Result Details, присвойте Severity, Status и Comment к результату.
Кликните по результату.
Из выпадающих списков Severity и Status выберите опцию.
В поле Comment введите комментарий или ключевое слово, которое помогает вам легко распознать результат.
На панели Results List щелкните правой кнопкой по прокомментированному результату и выберите Add Pre-Justification to Clipboard. Программное обеспечение копирует серьезность, состояние и комментарий к буферу обмена.
Щелкните правой кнопкой по результату снова и выберите Open Editor. Программное обеспечение открывает исходный файл для местоположения дефекта.
Вставьте содержимое своего буфера обмена на линии сразу перед линией, содержащей дефект или кодирующей нарушение правила.
Вы видите свои комментарии анализа как комментарий к коду в синтаксисе аннотации Polyspace®, который использование Polyspace повторно заполнить анализ комментирует ваш следующий анализ.
Сохраните свой исходный файл и повторно выполните анализ.
На панели Results List программное обеспечение заполняет Severity, Status и столбцы Comment для дефекта или нарушения правила, которое вы аннотировали. Эти поля только для чтения, потому что они заполняются из вашей аннотации кода. Если вы используете определенное ключевое слово или состояние для ваших аннотаций, можно отфильтровать результаты скрыть или показать аннотируемые результаты. Для получения дополнительной информации о фильтрации смотрите Результаты Фильтра и Группы в Пользовательском интерфейсе Рабочего стола Polyspace.
Этот метод показывает вам, как ввести комментарии непосредственно в ваши исходные файлы при помощи синтаксиса аннотации Polyspace кода. Синтаксис не является чувствительным к регистру и применяется к первой непрокомментированной линии кода C/C++ после аннотации.
Откройте свой исходный файл в редакторе и найдите линию или раздел кода, который вы хотите аннотировать.
Добавьте одну из следующих аннотаций:
Для одной строки кода добавьте следующий текст непосредственно перед строкой кода, которую вы хотите аннотировать.
/* polyspace<Type:Kind1[,Kind2] : [Severity] : [Status] > [Notes] */
Для раздела кода используйте следующий синтаксис.
/* polyspace:begin<Type:Kind1[,Kind2] : [Severity] : [Status] > [Notes] */ ... Code section ... /* polyspace:end<Type:Kind1[,Kind2] : [Severity] : [Status] > */
Если макрос расширяется до нескольких линий, используйте синтаксис для секций кода даже при том, что сам макрос покрывает одну линию. Однострочный синтаксис применяется только к результатам, которые появляются в первой линии расширенного макроса.
Замените слова Type
, Kind1
, [Kind2]
, [Severity]
Состояние
, и [Additional text]
с позволенными значениями, обозначенными в следующей таблице. Текст с квадратными скобками []
является дополнительным, и можно удалить его. Смотрите Примеры Синтаксиса.
Word | Позволенные значения |
---|---|
Type | Тип результатов:
|
Kind1,[Kind2],... | Для дефектов, проверок на этапе выполнения и метрик кода, используют краткие названия средств проверки. См.:
Для кодирования нарушений правила задайте номер правила или числа. Для глобальных переменных единственным позволенным значением является Если вы хотите, чтобы комментарий применился ко всем возможным дефектам или кодирующим правилам, задайте |
Severity | Текст, который указывает, как очень важный вы рассматриваете дефект. Введите одно из следующего:
Этот текст заполняет столбец Severity на панели Results List. |
Status | Текст, который указывает, как вы намереваетесь откорректировать ошибку в своем коде. Введите одно из следующих или любого другого текста:
Этот текст заполняет столбец Status на панели Results List. Состояние также используется в Метриках Polyspace, чтобы определить, выравнивается ли по ширине результат. Чтобы выровнять по ширине результат, используйте |
Notes | Дополнительные комментарии, такие как ключевое слово или объяснение состояния и серьезности. |
Один дефект:
/* polyspace<Defect:HARD_CODED_BUFFER_SIZE:Medium:To investigate> Known issue */
int table[100];
Одна проверка на этапе выполнения:
/* polyspace<RTE: ZDV : High : To Fix > Denominator cannot be zero */
y=1/x;
Нарушение правила MISRA C:2012:
/* polyspace<MISRA-C3: 13.1 : Low : Justified> Known issue */ int arr[2] = {x++,y};
Неиспользованная глобальная переменная:
/* polyspace<VARIABLE: ALL : Low : Justified> Variable to use later*/
int var_unused;
Несколько дефектов:
polyspace<Defect:USELESS_WRITE,DEAD_CODE:Low:No Action Planned> OK issue
Несколько нарушений правила JSF®:
polyspace<JSF:9,13:Low:Justified> Known issue