Обзор результатов Polyspace Bug Finder в Polyspace User Interface

Polyspace® Bug Finder™ проверяет код C/C + + на дефекты, нарушения правил кодирования или уязвимости безопасности. После запуска анализа вы открываете результаты в пользовательском интерфейсе Polyspace (или, если вы запустили анализ в Eclipse™, результаты открываются в Eclipse).

В этом разделе показано, как просмотреть некоторые выборки результатов в пользовательском интерфейсе Polyspace. Пользовательский интерфейс Polyspace доступен с десктопными продуктами, Polyspace Bug Finder и Polyspace Code Prover™.

Чтобы следовать шагам в этом руководстве, запустите Polyspace с помощью шагов в Run Polyspace Bug Finder на рабочий стол. Кроме того, в пользовательском интерфейсе Polyspace откройте результаты примера с помощью Help > Examples > Bug_Finder_Example.psprj. Если вы загрузили результаты примера раньше и внесли некоторые изменения, чтобы загрузить свежую копию, выберите Help > Examples > Restore Default Examples.

Интерпретируйте результаты

Проверьте каждый результат Polyspace. Найдите первопричину проблемы.

Начните со списка результатов на панели Results List.

  • Если панель Results List охватывает все окно, выберите Window > Reset Layout > Results Review.

  • Если вы не видите плоский список результатов, но вместо этого видите их сгруппированными, из списка выберите None.

Щелкните заголовок Check столбца, чтобы отсортировать результаты в алфавитном порядке. Выберите один из Non-initialized variable результатов.

См. исходный код на панели Source и дополнительные сведения о результате на панели Result Details.

На панели Result Details также подсвечивается последовательность событий, ведущих к результату. Например, для Non initialized variable результата вы видите следующие события:

  • Переменная value объявляется.

  • The if оператор, где value Получение инициализации пропущено.

  • Переменная value считывается.

Вы также видите эти события выделены синим цветом в исходном коде. Иногда эти события могут быть расположены далеко друг от друга в исходном коде. Щелкните событие на панели Result Details, чтобы перейти к соответствующему местоположению исходного кода.

Дополнительная информация

См.:

Адресуйте результаты через Bug Fix или комментарии

Как только вы понимаете первопричину нахождения Polyspace, можно исправить код. В противном случае добавьте комментарии к результатам Polyspace, чтобы исправить код позже или обосновать результат. Можно использовать комментарии для отслеживания прогресса проверки.

Щелкните правой кнопкой мыши переменную value на панели Source. Выберите Open Editor. Код откроется в текстовом редакторе. Устраните проблему. Например, можно инициализировать value во время объявления.

int value = -1;
Если вы перезапустили анализ, вы не видите Non-initialized variable дефекта.

Кроме того, если вы не хотите немедленно исправлять дефект, присвойте To investigate статуса результату. Вы можете добавить комментарии с дополнительным объяснением.

Если вы присваиваете No action planned статуса, результат не появляется в последующих запусках того же проекта.

Дополнительная информация

См.:

Управление результатами

Когда вы открываете результаты анализа Bug Finder, вы видите плоский список дефектов, нарушений правил кодирования или других результатов. Чтобы организовать проверку, можно сузить список или группу результатов по файлам или типам результатов.

Для образца можно:

  • Просмотрите только дефекты высокой ударной вязкости.

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

  • Просмотрите только новые результаты с момента последнего анализа.

    На панели инструментов Results List нажмите кнопку New.

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

    На панели инструментов Results List выберите из списка File.

Дополнительная информация

См. раздел «Фильтрация и группирование результатов» в интерфейсе пользователя Polyspace Desktop.