PVS-Studio

PVS-Studio - это инструмент для выявления ошибок в исходном коде программ, написанных на языках С, C++ и C#.

PVS-Studio выполняет статический анализ кода и генерирует отчёт, помогающий программисту находить и устранять ошибки. PVS-Studio выполняет широкий спектр проверок кода, но наиболее силён в поисках опечаток и последствий неудачного Copy-Paste. Показательные примеры таких ошибок: V501, V517, V522, V523, V3001.

Анализатор ориентирован на разработчиков, использующих среду Visual Studio, и может в фоновом режиме выполнять анализ измененных файлов после их компиляции. В идеале ошибки будут обнаружены и исправлены ещё до попадания в репозиторий. Однако ничто не мешает использовать анализатор для проверки всего решения целиком или для встраивания в системы непрерывной интеграции. Эти и иные способы использования анализатора описаны в документации.

Диагностические сообщения PVS-Studio можно разделить на 3 основные группы:

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

Интеграция с Microsoft Visual Studio

Инструмент PVS-Studio предназначен для разработчиков современных приложений и интегрируется в среды Visual Studio 2010-2015. При этом предоставляется удобный пользовательский интерфейс для анализа файлов, навигации по коду, получения справочной информации. Работа с анализатором не требует предварительного изучения документации и настройки. Анализатор готов к работе сразу же после инсталляции.

Увеличить

Особенности PVS-Studio (PVS-Studio Features)

  • Удобная и простая интеграция с Visual Studio 2010-2015.
  • Автоматический анализ отдельных файлов после их перекомпиляции.
  • Удобная online-справка по всем диагностикам, которая доступна и из программы, и на сайте, а также документация в .pdf одним файлом. Около 300 печатных страниц документации.
  • Сохранение и загрузка результатов анализа: можно ночью проверить код, сохранить результаты, а утром загрузить их и смотреть.
  • Запуск из командной строки для проверки всего решения: позволяет интегрировать PVS-Studio в ночные сборки, чтобы утром у всех был свежий лог.
  • Отличная масштабируемость! Поддержка многоядерных и многопроцессорных систем с настройкой количества используемых ядер; поддержка IncrediBuild.
  • Интерактивная фильтрация результатов анализа (лога) в окне PVS-Studio: по коду диагностики, по имени файла, по включению слова в текст диагностики.
  • Mark as False Alarm – разметка в коде, чтобы не ругаться конкретной диагностикой в конкретном фрагменте файла.
  • Mass Suppression – подавить все старые сообщения, чтобы анализатор выдавал 0 срабатываний. К ним всегда можно вернуться позже. Удобное внедрение. Ошибки только в новом коде.
  • Статистика ошибок в Excel – можно посмотреть темпы правки ошибок, количество ошибок во времени и т.п.
  • Автоматическая проверка на наличие новых версий PVS-Studio (как при работе в IDE, так и при ночных сборках).
  • Использование относительных путей в файлах отчета для возможности переноса отчета на другую машину.
  • CLMonitoring – проверка проектов, у которых нет файлов Visual Studio (.sln/.vcxproj); если вдруг вам не хватит функциональности CLMonitoring, то вы можете интегрировать PVS-Studio в любую Makefile-based систему сборки вручную.
  • Возможность исключить из анализа файлы по имени, папке или маске; возможность проверять файлы, модифицированные за последние N дней.

Поддерживаемые языки и диалекты

  • Visual Studio 2015 C, C++, C++/CLI, C++/CX (WinRT), C#
  • Visual Studio 2013 C, C++, C++/CLI, C++/CX (WinRT), C#
  • Visual Studio 2012 C, C++, C++/CLI, C++/CX (WinRT), C#
  • Visual Studio 2010 C, C++, C++/CLI, C#
  • MinGW C, C++

Демонстрация возможностей

Самый лучший способ увидеть пользу от использования анализатора PVS-Studio - проверить с его помощью собственные проекты.

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

В качестве дополнительной рекламы приглашаем познакомиться со статьями о проверке известных открытых проектов. Вот некоторые из них: