Эта тема описывает, как отфильтровать, сгруппировать, и в противном случае управлять результатами в пользовательском интерфейсе десктопных решений Polyspace. Для подобного рабочего процесса в Polyspace доступ к веб-интерфейсу смотрите.
Когда вы открываете результаты анализа Polyspace®, вы видите плоский список дефектов (Bug Finder), проверки на этапе выполнения (Программа автоматического доказательства Кода), кодируя нарушения правила или другие результаты. Чтобы организовать ваш анализ, можно сузить список или результаты группы файлом или закончиться тип.
Некоторые способы, которыми можно использовать фильтрацию:
Можно отобразить определенные типы дефектов или проверок на этапе выполнения только.
Например, в Bug Finder, можно отобразить только дефекты высокого удара. Смотрите Классификацию Дефектов Ударом.
Можно отобразить только новые результаты, найденные начиная с последнего анализа.
Можно отобразить только результаты, которые не выровняли по ширине.
Для получения информации о выравнивании смотрите Результаты Polyspace Адреса Через Исправления ошибок или Выравнивания.
Можно отфильтровать использование столбцов на панели Results List. Кликните по значку на заголовках столбцов, чтобы видеть доступные фильтры. Для получения информации о столбцах см.:
Результаты, найденные начиная с последнего анализа, появляются со звездочкой (*
) рядом с ними. Чтобы видеть только эти результаты начиная с последнего анализа, нажмите кнопку New. Обратите внимание на то, что, если вы запускаете анализ в командной строке (или даже когда вы запускаете анализ в пользовательском интерфейсе впервые), необходимо сначала импортировать из предыдущего анализа, чтобы создать базовую линию для кнопки New. Смотрите информацию об Анализе Импорта от Предыдущего Анализа Polyspace.
Если вы не хотите фильтровать точным содержимым столбца, можно использовать пользовательский фильтр вместо этого. Например, вы хотите отфильтровать подпапки определенной папки. Вместо того, чтобы отфильтровать каждую подпапку в столбце Folder, выберите Custom из выпадающего списка фильтра. Задайте имя корневой папки для doesn’t contain
фильтр.
Можно использовать подстановочные символы для пользовательского фильтра. Подстановочный знак ?
представляет 0 или 1 символ и *
представляет 0 или больше символов.
Если вы применяете фильтры таким образом, они переносят на следующий анализ. Можно также назвать и сохранить подмножество фильтров для использования в нескольких проектах. Чтобы применить именованный набор фильтров, выберите этот набор фильтра из списка All results. Чтобы создать новую запись в этом списке, выберите Tools> Preferences и создайте свой собственный набор фильтров на вкладке Review Scope.
Можно кликнуть по графикам на панели Dashboard, чтобы отфильтровать результаты. Например:
Чтобы видеть только дефекты высокого удара в Bug Finder, кликните по соответствующему разделу графика Defect distribution by impact.
Чтобы видеть только красные регистрации Программы автоматического доказательства Кода, кликните по соответствующему разделу графика Check distribution.
Чтобы видеть все результаты снова, щелкните по ссылке View all results in this scope.
Оранжевый источник может вызвать несколько оранжевых регистраций Программы автоматического доказательства Кода. Можно отобразить все оранжевые проверки из того же источника и рассмотреть их вместе.
Например, в этом коде, неизвестное значение input
может вызвать переполнение и деление на нуль. Переменная input
оранжевый источник, который вызывает две оранжевых проверки.
void func (int input) { int val1; double val2; val1 = input++; val2 = 1.0/input; }
Чтобы начаться, выберите Window> Show/Hide View> Orange Sources. Вы видите список оранжевых источников. Выберите оранжевый источник, чтобы видеть, что все оранжевые проверки прибывают из этого источника.
На заголовке Results List вы видите количество результатов, отображенных в формате, Показывающем x
Y
, например, Showing 100/250. Кликните по выпадающему списку около этого номера, чтобы видеть фильтры, которые в настоящее время активны. Можно также очистить активные фильтры от этого выпадающего списка (все кроме именованного набора фильтров, которые вы выбрали от выпадающего списка All results).
Вы видите эту информацию о фильтрах:
Review Scope: Если вы выбираете именованный набор фильтров от выпадающего списка All results, вы видите этот набор фильтра.
New results only: Если вы используете кнопку New, чтобы видеть только новые результаты, вы видите, что этот фильтр включил.
Filtered results: Вы видите, что количество результатов просочилось пользовательский интерфейс Polyspace (каким-либо образом: список результатов, инструментальная панель или оранжевые источники).
Hidden results: Вы видите количество результатов скрытые аннотации использования кода. Чтобы вывести на экран эти результаты, очистите Hide results justified in code.
Для получения информации о сокрытии результатов через аннотации кода смотрите Результаты Polyspace Адреса Через Исправления ошибок или Выравнивания.
Columns with active filters: Вы видите столбцы в панели Results List (или столбцы, соответствующие графикам в панели Dashboard), что вы раньше фильтровали результаты.
На панели Results List, из списка, выбирают опцию, например, группируясь файлом. В качестве альтернативы можно кликнуть по заголовку столбца, чтобы отсортировать содержимое столбца в алфавитном порядке.
Доступные параметры для группировки:
'none': Показывает результаты без группировки.
Family: Показывает результаты, сгруппированные типом результата.
Результаты организованы типом: проверки (Программа автоматического доказательства Кода), дефекты (Bug Finder), глобальные переменные (Программа автоматического доказательства Кода), кодируя нарушения правила, метрики кода. В каждом типе они сгруппированы далее.
Дефекты (Bug Finder) организованы дефектными группами. Для получения дополнительной информации о группах смотрите Дефекты.
Проверки (Программа автоматического доказательства Кода) сгруппированы цветом. В каждом цвете проверки организованы группой проверки. Для получения дополнительной информации о группах смотрите Проверки на этапе выполнения.
Глобальные переменные (Программа автоматического доказательства Кода) сгруппированы их использованием. Для получения дополнительной информации смотрите Глобальные переменные.
Нарушения правила кодирования сгруппированы типом кодирования правила. Для получения дополнительной информации см. Стандарты Кодирования.
Метрики кода сгруппированы осциллографом метрики. Для получения дополнительной информации смотрите Метрики Кода.
File: Покажите результаты, сгруппированные файлом.
В каждом файле результаты сгруппированы функцией. Результаты, которые не сопоставлены с конкретной функцией, сгруппированы под File Scope.
В Программе автоматического доказательства Кода, имени файла или имени функции показывает, что худшая проверка раскрашивает файл или функцию. Серьезность проверки окрашивает уменьшения в порядке: красный, серый, оранжевый, зеленый.
Class (только для Кода С++): Показывает результаты, сгруппированные классом.
В каждом классе результаты сгруппированы методом. Результаты, которые не сопоставлены с конкретным классом, сгруппированы под Global Scope.