exponenta event banner

Импорт сведений проверки из предыдущего анализа полиспейса

После просмотра результатов анализа можно повторно использовать информацию из обзора для последующих анализов. Если указать статус или степень серьезности результата или добавить примечания в файл результатов, они переносятся в результаты следующего анализа того же проекта. При добавлении той же информации, что и комментарии к коду (аннотации), они переносятся на любой последующий анализ кода, будь то в том же проекте или в том же проекте. Результаты также можно скрыть с помощью аннотаций кода. Дополнительные сведения о комментировании см. в разделе Результаты анализа пространства адресов с помощью исправлений ошибок или обоснований.

В этом разделе показано, как импортировать информацию проверки из одного файла результатов в другой. Импорт сведений о проверке позволяет избежать просмотра уже обоснованных результатов. Например, после импорта информации на панели Список результатов (Results List) (пользовательский интерфейс настольных продуктов) щелчок значка пропускает выровненные результаты. С помощью этого значка можно просматривать непросмотренные результаты. Можно также фильтровать выровненные чеки из просмотра.

Автоматический импорт из последнего анализа

По умолчанию в интерфейсе пользователя Polyspace ® (только для настольных ПК) информация об обзоре автоматически импортируется из последнего анализа модуля проекта. Это поведение по умолчанию можно отключить.

  1. Выберите «Сервис» > «Установки», чтобы открыть диалоговое окно «Настройки полиспейса».

  2. Выберите вкладку Проект и папка результатов.

  3. В разделе Импорт комментариев снимите флажок Автоматически импортировать комментарии из последней проверки.

  4. Нажмите кнопку ОК.

При загрузке результатов в веб-интерфейс Polyspace Access к текущему запуску применяются сведения о последнем запуске того же проекта. Нельзя отключить автоматический импорт.

Если анализ выполняется в командной строке (и результаты не загружаются в веб-интерфейс Polyspace Access), необходимо явно импортировать из другого набора результатов. См. раздел Командная строка.

Импорт из другого результата анализа

Можно импортировать информацию проверки непосредственно из другого результата Polyspace в текущий результат.

Если результат найден в анализе поиска ошибок и проверки кода, можно добавить информацию проверки в результат проверки ошибок и импортировать в результат проверки кода. Например, большинство проверок правил кодирования являются общими для Bug Finder и Code Prover. Информацию о проверке можно добавить к нарушениям правил кодирования в средстве поиска ошибок и импортировать в те же нарушения в средстве проверки кода.

Интерфейс пользователя (только для настольных ПК)

Чтобы импортировать информацию проверки из другого набора результатов, выполните следующие действия.

  1. Откройте текущие результаты анализа.

  2. Выберите «Сервис» > «Импорт комментариев».

  3. Перейдите в папку, содержащую предыдущие результаты.

  4. Выберите другой файл результатов (с расширением .psbf или .pscp) и нажмите кнопку Открыть.

    Информация проверки из предыдущих результатов импортируется в текущие результаты.

Командная строка

Использовать опцию -import-comments во время анализа для импорта комментариев из предыдущей проверки.

Чтобы импортировать информацию проверки из нескольких результатов, используйте polyspace-comments-import команда.

Алгоритм импорта

Можно непосредственно импортировать информацию проверки из другого набора результатов в текущие результаты. Однако возможно, что часть сведений о проверке не будет импортирована в последующий анализ по следующей причине:

  • Исходный код изменен таким образом, чтобы строка с предыдущим результатом не была полностью идентична строке в текущем прогоне.

    Инструмент импорта комментариев использует дополнительный код, который просто сдвигает существующую строку. Например, инструмент распознает, что строка 10 в прогоне 1 и строка 12 в прогоне 2 имеют один и тот же оператор. Если деление на ноль происходит в строке 10 в прогоне 1 и вы не устранили проблему в прогоне 2, результат вместе со связанной информацией проверки импортируются в строку 12 в прогоне 2.

    • Прогон 1:

      10 baseLine = min/numRecipients;
      11 
      12 
    • Прогон 2:

      10 /* Calculate a baseline per recipient
      11    based on minimum available resources */
      12 baseLine = min/numRecipients;

    Однако при изменении самого содержимого строки, например, следует изменить numRecipient кому numReceiver, информация о результатах и проверке не импортируется.

  • Исходный код изменен таким образом, что цвет результата проверки кода изменился.

  • Введена новая информация о проверке для того же результата.

Если содержимое строки не изменяется и показывает тот же результат, что и предыдущий анализ, информация проверки импортируется. В маловероятных сценариях один и тот же результат может быть получен в одной и той же строке, несмотря на изменение предыдущих строк, приводящих к результату. Информация проверки из предыдущего анализа затем импортируется в новый результат. Если предыдущий результат был выровнен со статусом, таким как Not a defect, вероятно, вы хотите продолжить это обоснование с новым результатом. Например, если вы ранее приняли переполнение, так как учитывали поведение обхода после переполнения, вы, вероятно, примете переполнение независимо от причины. В некоторых случаях может потребоваться повторная проверка результата и может не быть известно, что результат заслуживает еще одной проверки. Во избежание этой ситуации:

  • При обосновании нелокальных результатов, связанных с предыдущими событиями, используйте тщательное суждение.

  • Для критических компонентов следует проводить периодические оценки обоснованных результатов, чтобы убедиться в том, что обоснования все еще применяются. Такие оценки полезны специально для проверок времени выполнения программы Code Prover.

Просмотр импортированных сведений о проверке, которые не применяются

В пользовательском интерфейсе Polyspace (только для настольных ПК) отчет о проверках импорта и комментариях выделяет различия между двумя результатами анализа. Этот отчет можно просмотреть при импорте сведений о проверке из предыдущего анализа. Если отчет был закрыт после импорта, для повторного просмотра отчета выполните следующие действия.

  1. Выберите меню «Окно» > «Показать/скрыть вид» > «Импорт отчета по комментариям».

    Откроется отчет Импорт проверок и комментариев (Import Check and Comments Report), выделяющий различия в двух результатах.

  2. Просмотрите различия между двумя результатами.

Сведения о проверке могут отличаться между двумя результатами по следующим причинам:

  • При изменении цвета проверки в окне «Проверка кода» поле «Комментарий» импортируется в Полиспейс, но не в поле «Статус». Кроме того, Polyspace импортирует поля Серьезность (Severity) и Выровнено (Justified) в зависимости от изменения цвета.

    Изменение цветаСерьезностьОправданный
    Оранжевый или красный - зеленыйНе импортированоИмпортированный
    От серого до зеленогоНе импортированоИмпортировано, если для параметра Серьезность задано значение High, Medium или Low.
    От красного до оранжевого или наоборотИмпортированныйИмпортированный
    Зеленый - красный/оранжевый/серыйНе импортированоНе импортировано
  • Если результат больше не отображается в коде, Polyspace подсвечивает только изменения в отчете «Импорт проверок и комментариев». Он не импортирует информацию проверки из предыдущего результата.

  • Если для одной и той же проверки уже введены другие сведения о проверке, Polyspace подсвечивает только изменения в отчете Импорт проверок и комментариев. Он не импортирует информацию проверки из предыдущего результата.

См. также

|