Для получения триального ключа
заполните форму ниже
Team license
Enterprise license
** Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

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

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

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

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

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

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


Если вы так и не получили ответ, пожалуйста, проверьте папку
Spam/Junk и нажмите на письме кнопку "Не спам".
Так Вы не пропустите ответы от нашей команды.

>
Анализатор PVS‑Studio
logo
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
Нажимая на кнопку, вы даете согласие на обработку своих персональных данных. См. Политику конфиденциальности

Что такое PVS‑Studio?
Давайте мы расскажем об этом!

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

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

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

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

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

Куда интегрируется PVS‑Studio
Распределённая сборка
Игровые движки
Качество кода
Сборочные системы
Embedded
Keil µVision, DS-MDK
IAR Embedded Workbench
QNX Momentics
TI ARM Code Generation
Виртуализация
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++

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!
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) исходных C и C++ файлов позволяет, основываясь на параметрах компиляции, раскрывать директивы препроцессора: включать заголовочные файлы и подставлять макросы. Используется для создания наиболее полной семантической модели (semantic model) проверяемого кода.
Сопоставление с шаблоном (pattern-based analysis) на основе абстрактного синтаксического дерева применяется для поиска мест в исходном коде, которые похожи на известные шаблоны кода с ошибкой.
Аннотирование методов (method annotations) предоставляет больше информации об используемых методах, чем может быть получено путём анализа только их сигнатуры.
Анализ потока данных (data-flow analysis) используется для вычисления ограничений, накладываемых на значения переменных при обработке различных конструкций языка. Например, какие значения может принимать переменная внутри блоков if/else.
Символьное выполнение (symbolic execution) позволяет вычислять значения переменных, которые могут приводить к ошибкам, производить проверку диапазонов (range checking) значений.
Вывод типов (type inference) на основе семантической модели программы позволяет анализатору иметь полную информацию обо всех переменных и выражениях, встречающихся в коде.
Taint-анализ (tainted data analysis) позволяет обнаруживать случаи, когда данные от пользователей используются без предварительной проверки. Излишнее доверие к входным данным является причиной различных уязвимостей (например, SQLI, XSS, path traversal).
Межмодульный анализ (intermodular analysis) позволяет во время анализа учитывать в диагностических правилах информацию о функциях, объявленных в других единицах трансляции.
Анализ компонентного состава ПО (Software Composition Analysis, SCA) используется, чтобы искать зависимости приложения от компонентов, которые содержат уязвимости.
Unicorn with delicious cookie
Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо