Picture 2

В анализаторе PVS-Studio уже давно существовал Html отчёт, но он был настолько простым, что годился только для ознакомления с результатами анализа маленького объёма, например, по электронной почте. В этой заметке я расскажу, как был переработан этот формат и какие новые возможности он открывает для пользователей анализатора.

Введение


Дополнительным популярным сценарием контроля качества кода является просмотр результатов анализа проекта на сервере удалённо через веб-браузер. Поэтому в PVS-Studio появился второй вариант Html-отчетов, названный нами FullHtml. В отличии от первого варианта (SimpleHtml), новый Html отчёт делает доступными другие сценарии работы. Далее я расскажу, в каких случаях будет удобно использовать тот или иной тип отчёта.

Просмотр отчёта в веб-браузере


FullHtml – полноценный отчёт для просмотра результатов анализа. Есть возможность поиска и сортировки сообщений по типу, файлу, уровню, коду и тексту предупреждения. Особенностью этого отчёта является возможность навигации к месту ошибки в файле с исходным кодом. Сами файлы с исходным кодом, на которых были предупреждения анализатора, копируются в html и являются частью отчёта. Примеры отчёта приведены на рисунках 1-2.

Рисунок 1 – Пример главной страницы Html отчёта


Рисунок 1 – Пример главной страницы Html отчёта

Рисунок 2 – Просмотр предупреждения в коде


Рисунок 2 – Просмотр предупреждения в коде

Такой отчёт удобно рассылать в архиве или предоставлять к нему доступ по локальной сети с помощью любого веб-сервера, например, Lighttpd и т.п.

Просмотр отчёта в почтовом клиенте


SimpleHtml – легковесный отчёт, состоящий из одного файла в формате .html. Содержит краткую информацию о найденных предупреждениях и подходит для уведомления о результатах по электронной почте. Пример отчёта приведен на рисунке 3.

Рисунок 3 – Пример страницы SimpleHtml


Рисунок 3 – Пример страницы SimpleHtml

Заключение


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

Примечание. Конвертация в FullHtml пока доступна только для Linux. Вскоре утилиты конвертации отчётов из Windows и Linux будут объединены и пользователи получат возможность использовать кросс-платформенный инструмент с единым интерфейсом.

Чтобы посмотреть, как выглядит FullHtml в живую, я сконвертировал в этот формат один из недавних отчётов, который я использовал при написании статьи о проекте MuseScore: MuseScoreHtml.7z.



Если хотите поделиться этой статьей с англоязычной аудиторией, то прошу использовать ссылку на перевод: Svyatoslav Razmyslov. PVS-Studio Reports Now in Html

Прочитали статью и есть вопрос?
Часто к нашим статьям задают одни и те же вопросы. Ответы на них мы собрали здесь: Ответы на вопросы читателей статей про PVS-Studio, версия 2015. Пожалуйста, ознакомьтесь со списком.

Комментарии (3)


  1. devalone
    16.11.2017 13:44

    Не могу понять, как у вас скачать триальную версию. Только обращаться на почту? Скачал версию для линукса (.deb), установил, запустил анализ по инструкции для cmake, во время анализа он постоянно писал

    Please request a trial license from our support at support@viva64.com.

    потом запустил plog-converter -a GA:1,2 -t tasklist -o report.tasks project.log и он показал
    Total messages: 0
    Filtered messages: 0

    Это значит, что у меня нет ошибок или что без запроса триала pvs вообще ничего не показывает? Было бы круто, если б вы сделали более простой способ получать триал, ну а совсем идеально бесплатную урезанную версию only for open-source.


    1. SvyatoslavMC Автор
      16.11.2017 14:04
      +1

      Вы всё правильно скачали, просто триальный режим в Windows и Linux немного отличается. Для Linux можно запросить временный ключ через форму обратной связи на сайте. Ограниченное время вы сможете пользоваться полноценной версией анализатора для оценки его возможностей.


      1. devalone
        16.11.2017 16:21

        Спасибо за ответ