Статистика работы анализатора (графики)


Введение

Анализатор PVS-Studio позволяет собирать статистику своей работы - количество найденных сообщений (включая подавленные) на разных уровнях и группах диагностик. Собранная статистика может быть отфильтрована и отображена в виде графика в документе Microsoft Excel, показывающего динамику изменения сообщений в проверяемом проекте.

Сбор статистики запусков анализатора

PVS-Studio может сохранять статистику запусков при проверке кода с помощью плагина к Microsoft Visual Studio (начиная с версии Visual Studio 2010). Для включения сохранения статистики можно воспользоваться настройкой Save Solution Statistics, доступной на странице настроек Specific Analyzer Settings, которую можно открыть через пункт меню плагина 'PVS-Studio|Options...'.

Статистика записывается в директории '%AppData%/PVS-Studio/Statistics'. Для каждого проверяемого решения Visual Studio будет создана поддиректория с именем этого решения. Для каждого запуска проверки решения по окончании анализа будет записан отдельный файл статистики с результатами проверки (при использовании режима проверки из командной строки для Visual Studio проектов статистика также будет вестись). Файл статистики содержит информацию о количестве найденных сообщений (новых и скрытых с помощью механизма подавления сообщений) в каждой группе диагностических правил PVS-Studio (General Analysis, Optimization, 64-bit Analysis), для каждой ошибки и уровня достоверности сообщения. Сообщения, размеченные как ложные срабатывания, в статистику не попадают.

Каждый запуск проверки решения Visual Studio записывается в файл с расширением xml.zip - обычный zip архив, содержащий внутри xml документ простого формата. Благодаря открытому формату, файлы статистики можно как интерпретировать самостоятельно, так и использовать UI, предоставляемый плагином PVS-Studio, который будет описан ниже.

Фильтрация статистики и отображение в Microsoft Excel

PVS-Studio предоставляет интерфейс для фильтрация собранной статистики запусков анализа и её отображения средствами Microsoft Excel.

Для использования данного диалога необходимо присутствие в системе Microsoft Excel (версии 2007 и выше), а также пакета Visual Studio Tools for Office (устанавливается со средой Visual Studio по умолчанию).

Открыть диалог фильтрации статистики можно с помощью пункта меню 'PVS-Studio|Analysis Statistics...' (доступен также в приложении C and C++ Compiler Monitoring UI):

Рисунок 1 - Диалог фильтрации статистики запусков анализатора PVS-Studio

Рисунок 1 - Диалог фильтрации статистики запусков анализатора PVS-Studio

Checkbox 'Include Suppressed Messages' позволяет показать\скрыть сообщения анализатора, размеченные, как подавленные. Сообщения, отключённые на странице настроек Detectable Errors (PVS-Studio|Options...), также отфильтровываются при построении Excel документа (сами файлы статистики xml.zip содержат полную информацию о всех кодах ошибок).

Диалог фильтрации статистики PVS-Studio берёт только самые "свежие" данные за каждый день, т.е. если анализ запускался несколько раз в течении одного дня, будет использован файл статистики с самым поздним временем создания (записано внутри xml файла статистики). Тем не менее, статистика будет сохранена для каждого из запусков, при необходимости она доступна в директории '%AppData%/PVS-Studio/Statistics/%SolutionName%'.

После выбора необходимых решений в списке, включения фильтров и задания интересующего временного диапазона, Excel документ, содержащий отфильтрованную по выбранным критериям статистику, можно открыть, нажав кнопку 'Show in Excel' (рисунок 2).

Рисунок 2 - Статистика по группам сообщений анализатора

Рисунок 2 - Статистика по группам сообщений анализатора

График 'по группам сообщений' показывает динамику изменения общего количества сообщений для каждой из групп анализаторов, в соответствии с выбранными ранее фильтрами.

Открытые через диалог PVS-Studio графики являются обычными Excel документами, в которых доступна вся мощь интерфейса Excel (фильтрация, масштабирование и т.п.), которые можно сохранить для дальнейшего использования.


Найденные ошибки

Проверено проектов
361
Собрано ошибок
13 417

А ты совершаешь ошибки в коде?

Проверь с помощью
PVS-Studio

Статический анализ
кода для C, C++, C#
и Java

goto PVS-Studio;