Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
Анализатор PVS‑Studio

PVS‑Studio – статический анализатор на страже качества, защищённости (SAST) и безопасности кода

1. Скачать дистрибутив
2. Запросить триал
3. Запросить цены
1. Скачать дистрибутив
Скачайте дистрибутив анализатора
PVS‑Studio
--Выберите платформу--
Linux
macOS
Windows
--Выберите язык--
C, C++
C#
Java
--Формат дистрибутива--
rpm
deb
tgz
rpm
deb
tar.gz
pkg
tgz
tar.gz
exe
exe
exe
Быстрый запуск
Скачать дистрибутив
2. Запросить триал
Запросите триальный ключ для
тестирования возможностей анализатора
--Выберите тип лицензии--
Team license
Enterprise license
** Нажимая на кнопку, вы даете согласие на обработку своих персональных данных. См. Политику конфиденциальности

3. Запросить цены
Запросите информацию о ценах
--Выберите валюту--
USD
EUR
RUB
* Нажимая на кнопку, вы даете согласие на обработку своих персональных данных. См. Политику конфиденциальности

Что такое PVS‑Studio?

product video en

Давайте мы расскажем об этом!

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

Или вы можете ознакомиться с возможностями нашего продукта, посмотрев презентацию.

Когда пора использовать анализатор PVS‑Studio
Разработчику
Часто допускаются ошибки при разработке
Длительная отладка при поиске ошибок
Ошибки попадают в систему контроля версий
Сложно возвращаться к отладке кода, когда ошибка была обнаружена на этапе тестирования
Security специалисту
Сложности с внешним аудитом
Потенциальные клиенты требуют использования подобных инструментов
Требование к использованию security и safety стандартов при разработке
Необходимо учитывать требования ГОСТ Р 71207–2024
Как PVS‑Studio выявляет потенциальные уязвимости
cwe diagram small

Анализатор PVS‑Studio выявляет не только опечатки, мёртвый код и другие ошибки, но и потенциальные уязвимости (Static Application Security Testing, SAST).

Анализатор отображает предупреждения на Common Weakness Enumeration, SEI CERT Coding Standards, а также поддерживает стандарт MISRA.

Таблицы соответствий диагностик PVS‑Studio различным стандартам:

Куда интегрируется PVS-Studio
Распределенная сборка
Игровые движки
Качество кода
Сборочные системы
Embedded
Keil µVision, DS-MDK
Keil µVision, DS-MDK
IAR Embedded Workbench
IAR Embedded Workbench
QNX Momentics
QNX Momentics
TI ARM Code Generation
TI ARM Code Generation
Виртуализация
WSL
WSL
Поддерживаемые языки и компиляторы

Windows

Visual Studio, C, C++, C++/CLI, C++/CX (WinRT)

MinGW C, C++

Texas Instruments Code Composer Studio, C6000-CGT, С, С++

Windows/Linux/macOS

GNU Arm Embedded Toolchain, Arm Embedded
GCC compiler, C, C++

GNU toolchain for RISC-V, C, C++

CLion, Qt Creator, Eclipse, GCC, Clang, C, C++

IntelliJ IDEA, Android Studio, Java

Visual Studio, JetBrains Rider, C#, .NET Framework, .NET

Windows/Linux

IAR Embedded Workbench, C/C++ Compiler for ARM C, C++

QNX Momentics, QCC C, C++

Keil µVision, DS-MDK, ARM Compiler 5/6 C, C++

Texas Instruments Code Composer Studio, ARM Code
Generation Tools C, C++

MPLAB XC8 C

Начать использовать PVS‑Studio легко

Пробуете впервые?
Посмотрите на самые интересные предупреждения

Специальный фильтр выберет те предупреждения, которые вероятнее всего указывают на ошибку.

Внедряете в проект?
Скройте предупреждения на legacy-код

Так вы будете работать только с предупреждениями, выданными на новый код. Если нужно, к старым можно вернуться позже.

Варианты лицензий PVS-Studio
Team License
Enterprise License
Командная строка
Check!
Check!
Visual Studio
Check!
Check!
IntelliJ IDEA
Check!
Check!
Rider
Check!
Check!
CLion
Check!
Check!
Jenkins
Check!
Check!
TeamCity
Check!
Check!
Quality
Check!
Check!
Safety
Check!
Check!
Security
Check!
Check!
ГОСТ Р 71207–2024
Check!
Check!
SonarQube
No check
Check!
Проверка коммитов
No check
Check!
Incredibuild
No check
Check!
Unreal Engine
No check
Check!
Уведомления
Check!
Check!
Заказать триальный ключ
Запросить цену
Заказать триальный ключ
Запросить цену
Заказать триальный ключ
Запросить цену Team лицензии
Какие типы проблем обнаруживает PVS‑Studio
Quality
Опечатки
Разыменование нулевого указателя / нулевой ссылки
Выход за границу массива
Некорректные операции сдвига
и пр.
Safety
PVS‑Studio выбирают за...
Экспертную техническую поддержку

За годы работы мы сформировали коллектив настоящих экспертов в области анализа кода. Сами разработчики анализатора помогают клиентам в решении разных вопросов.

Возможность офлайн-использования

Вы можете использовать наш продукт офлайн на всех этапах. Установка, активация и запуск не требуют от вас подключения к сети. Это идеальное решение для компаний, которые ведут изолированную разработку, например, в финансовой сфере.

Простоту использования

Быстро попробовать анализатор без интеграции в проект можно с помощью системы мониторинга компиляции, которая разработана для Windows и Linux.

Диагностические возможности

Мы разработали более 900 диагностических правил и добавляем новые каждый месяц.

Кроссплатформенность

Сейчас выгоднее выпускать программные продукты под несколько платформ сразу. Кроссплатформенный анализатор обеспечивает таким клиентам полное покрытие кода.

Удобные отчёты анализатора

Доступны в форматах Html, Xml, Csv, Txt, Json, CompileError, TaskList, TeamCity. А сам генератор опубликован на GitHub для пользовательских модификаций.

Удобный CLI

Нет ничего проще, чем запустить анализатор из командной строки или интегрировать запуск в скрипт сборки или CI.

Плагины

Для улучшения взаимодействия с анализатором предоставляются плагины для Visual Studio, IntelliJ IDEA, Rider, SonarQube, Jenkins и других подобных продуктов.

Режим проверки Lеgаcy-кода

Внедрение анализаторов часто останавливает объём существующей кодовой базы. Но только не PVS-Studio. Уже с первого дня PVS‑Studio можно использовать для проверки нового кода, а предупреждения на старый (Legacy) код можно скрыть до востребования.

Работу с ложными срабатываниями

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

Количество диагностик
в PVS‑Studio растёт из года в год
Количество диагностик
Количество диагностик
Даты релизов (обозначены точками на графике)
Как PVS‑Studio всё это делает?
preprocessing
Препроцессирование (preprocessing) исходных C и C++ файлов позволяет, основываясь на параметрах компиляции, раскрывать директивы препроцессора: включать заголовочные файлы и подставлять макросы. Используется для создания наиболее полной семантической модели (semantic model) проверяемого кода.
compare
Сигнатурный анализ (сопоставление с шаблоном, pattern-based analysis) на основе абстрактного синтаксического дерева применяется для поиска мест в исходном коде, которые похожи на известные шаблоны кода с ошибкой.
method annotations
Аннотирование методов (method annotations) предоставляет больше информации об используемых методах, чем может быть получено путём анализа только их сигнатуры.
data-flow analysis
Анализ потока данных (data-flow analysis) используется для вычисления ограничений, накладываемых на значения переменных при обработке различных конструкций языка. Например, какие значения может принимать переменная внутри блоков if/else.
symbolic execution
Символьное выполнение (symbolic execution) позволяет вычислять значения переменных, которые могут приводить к ошибкам, производить проверку диапазонов (range checking) значений.
type inference
Вывод типов (type inference) на основе семантической модели программы позволяет анализатору иметь полную информацию обо всех переменных и выражениях, встречающихся в коде.
tainted data analysis
Анализ помеченных данных (tainted data analysis) позволяет обнаруживать случаи, когда данные от пользователей используются без предварительной проверки. Излишнее доверие к входным данным является причиной различных уязвимостей (например, SQLI, XSS, path traversal).
intermodular analysis
Межмодульный анализ (intermodular analysis) позволяет во время анализа учитывать в диагностических правилах информацию о функциях, объявленных в других единицах трансляции.
Software Composition Analysis
Анализ компонентного состава ПО (Software Composition Analysis, SCA) используется, чтобы искать зависимости приложения от компонентов, которые содержат уязвимости.
close form

Заполните форму в два простых шага ниже:

Ваши контактные данные:

Шаг 1
Поздравляем! У вас есть промокод!

Тип желаемой лицензии:

Шаг 2
Team license
Enterprise license
** Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности
close form
Запросите информацию о ценах
Новая лицензия
Продление лицензии
--Выберите валюту--
USD
EUR
RUB
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Бесплатная лицензия PVS‑Studio для специалистов Microsoft MVP
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Для получения лицензии для вашего открытого
проекта заполните, пожалуйста, эту форму
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Мне интересно попробовать плагин на:
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
check circle
Ваше сообщение отправлено.

Мы ответим вам на


Если вы так и не получили ответ, пожалуйста, проверьте, отфильтровано ли письмо в одну из следующих стандартных папок:

  • Промоакции
  • Оповещения
  • Спам