Знакомство с анализатором кода PVS-Studio

Аннотация

В статье приведено краткое описание анализатора кода PVS-Studio.

Введение

PVS-Studio - статический анализатор кода компании ООО "СиПроВер" предназначен для разработчиков современных ресурсоемких приложений. Объединяя в себе возможности анализа 64-битного кода из модуля Viva64, параллельного кода из модуля VivaMP и анализа общего назначения. PVS-Studio позволяет разрабатывать, тестировать, выполнять миграцию и верификацию, и, конечно же, создавать приложения на C/C++/C++11 с высоким уровнем надежности.

Компания ООО "СиПроВер" занимается разработкой и продажей анализаторов кода. Наши продукты: Viva64 - анализатор кода для миграции и разработки 64-битных приложений, и VivaMP - анализатор кода для верификации параллельных OpenMP программ. Эти анализаторы оказались востребованными одной группой пользователей. Поэтому мы подготовили новый программный продукт PVS-Studio, который обединяет в себе эти два инструмента и предоставляет пользователям единое решение для разработки современных ресурсоемких приложений на C/C++/C++11. В анализатор PVS-Studio также был добавлен новый набор диагностик общего назначения.

Возможности

Установка PVS-Studio достаточно проста. На машине должна быть установлена среда Microsoft Visual Studio 2005/2008/2010. Для анализа 64-битных приложений желательно также иметь 64-битный компилятор, входящий в состав Visual Studio.

После установки PVS-Studio интегрируется в меню Visual Studio как показано на рисунке.

Рисунок 1 - Интеграция PVS-Studio в Microsoft Visual Studio

Рисунок 1 - Интеграция PVS-Studio в Microsoft Visual Studio

Можно выделить 3 набора правил, включенных в состав PVS-Studio:

  • Диагностика 64-битных ошибок (Viva64)
  • Диагностика параллельных ошибок (VivaMP)
  • Диагностика общего назначения

PVS-Studio позволяет обнаруживать в исходном коде программ на C/C++/C++0x следующие типы дефектов:

  • ошибки миграции 32-битных приложений на 64-битные системы;
  • ошибки, возникающие при разработке новых 64-битных приложений;
  • неоптимальное использование памяти в 64-битных программах вследствие особенностей выравнивания;
  • ошибки в параллельных программах, связанные с незнанием синтаксиса технологии OpenMP;
  • ошибки в параллельных программах, связанные с недостаточным знанием принципов распараллеливания кода с использованием OpenMP;
  • ошибки из-за некорректной работы с памятью в параллельном коде (незащищенный доступ к общей памяти, отсутствие синхронизации, неправильный режим доступа к переменным, и т. п.).

Все эти группы дефектов возникают как в новых приложениях, так и в старых при попытке либо перенести их на 64-битную платформу, либо во время распараллеливания кода.

Используя анализатор PVS-Studio можно повысить качество программного продукта, сократить время на разработку и тестирование решения, а также обеспечить безопасность кода.

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

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

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

Выводы

Анализатор кода PVS-Studio нужен тем, кто:

  • разрабатывает новые 64-битные приложения;
  • выполняет миграцию 32-битного кода на 64-битные системы;
  • добавляет в программу поддержку параллельного исполнения с помощью технологии OpenMP.