Polyspace® Bug Finder™ проверяет код C/C + + на дефекты, нарушения правил кодирования или уязвимости безопасности. После запуска анализа вы открываете результаты в пользовательском интерфейсе Polyspace (или, если вы запустили анализ в Eclipse™, результаты открываются в Eclipse).
В этом разделе показано, как просмотреть некоторые выборки результатов в пользовательском интерфейсе Polyspace. Пользовательский интерфейс Polyspace доступен с десктопными продуктами, Polyspace Bug Finder и Polyspace Code Prover™.
Если вы запустили анализ одного файла в вашей IDE с помощью Polyspace as You Code, можно просмотреть результаты непосредственно в вашей IDE. Смотрите Запуск Polyspace в качестве кода в IDE и Результаты обзора (Polyspace Bug Finder Access).
Если вы запускаете анализ с помощью продукта Polyspace Server и загружаете в Polyspace Access, можно просмотреть результаты в веб-браузере. Смотрите Обзор результатов Polyspace Bug Finder в веб-браузере (Polyspace Bug Finder Access).
Чтобы следовать шагам в этом руководстве, запустите 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, чтобы перейти к соответствующему местоположению исходного кода.
См.:
Как только вы понимаете первопричину нахождения Polyspace, можно исправить код. В противном случае добавьте комментарии к результатам Polyspace, чтобы исправить код позже или обосновать результат. Можно использовать комментарии для отслеживания прогресса проверки.
Щелкните правой кнопкой мыши переменную value
на панели Source. Выберите Open Editor. Код откроется в текстовом редакторе. Устраните проблему. Например, можно инициализировать value
во время объявления.
int value = -1;
Кроме того, если вы не хотите немедленно исправлять дефект, присвойте To investigate статуса результату. Вы можете добавить комментарии с дополнительным объяснением.
Если вы присваиваете No action planned статуса, результат не появляется в последующих запусках того же проекта.
См.:
Когда вы открываете результаты анализа Bug Finder, вы видите плоский список дефектов, нарушений правил кодирования или других результатов. Чтобы организовать проверку, можно сузить список или группу результатов по файлам или типам результатов.
Для образца можно:
Просмотрите только дефекты высокой ударной вязкости.
Щелкните заголовок Information столбца, чтобы отсортировать дефекты по влиянию. Кроме того, можно отфильтровать результаты, отличные от дефектов с сильным воздействием. Чтобы начать фильтрацию, щелкните значок в заголовке столбца.
Просмотрите только новые результаты с момента последнего анализа.
На панели инструментов Results List нажмите кнопку New.
Просмотрите результаты в определенных файлах или функциях.
На панели инструментов Results List выберите из списка File.
См. раздел «Фильтрация и группирование результатов» в интерфейсе пользователя Polyspace Desktop.