Вышел новый релиз PVS-Studio — 7.38. Новое ядро для C и C++ анализатора, механизм пользовательских аннотаций в Java анализаторе, улучшение анализа заражённых данных, и это ещё не всё! Больше подробностей в этом пресс-релизе.

Загрузить актуальную версию PVS-Studio можно здесь.
Новое ядро C и C++ анализатора
Новое ядро включает полностью переработанные компоненты: парсер, семантический анализатор и систему типов. Оно обеспечивает более точную обработку шаблонных конструкций, улучшенный разбор стандартной библиотеки и кода на современных стандартах языка C++. В ходе расширенного периода тестирования (EAP) была достигнута стабильная работа нового ядра на большом количестве реальных проектов.
Для обеспечения обратной совместимости сохранена возможность временного переключения на предыдущую версию ядра. Сделать это можно с помощью следующих утилит:
pvs-studio-analyzer с помощью флага ‑‑use-old-parser;.pvsconfig с помощью флага //V_USE_OLD_PARSER; Settings.xml с помощью тега <UseOldCppParser>;В случае возникновения проблем при анализе рекомендуем сообщить о них в техническую поддержку. Ваша обратная связь поможет ускорить финальную стабилизацию нового ядра C и C++ анализатора.
Механизм пользовательских аннотаций в Java анализаторе
В Java анализатор PVS-Studio был добавлен механизм пользовательских аннотаций — способ разметки типов и функций в формате JSON для передачи анализатору дополнительной информации. Ранее такая возможность была доступна только в анализаторах C++ и C#.
Теперь можно размечать методы и конструкторы как источники, приёмники и валидаторы taint-данных. Это позволяет анализатору находить больше уязвимостей, каждая из которых соответствует отдельному диагностическому правилу.
Подробнее об этой функциональности можно прочитать в нашей документации.
Разделение диагностических правил по версии стандарта MISRA
На странице классификации предупреждений PVS-Studio согласно стандартам MISRA C и MISRA C++ появилось разделение по версии стандарта.
Мы продолжаем увеличивать покрытие стандарта MISRA C 2023 и планируем завершить работы в этом направлении до конца 2025 года.
Подробнее о классификации можно прочитать в нашей документации.
Интеграция PVS-Studio в OpenIDE
Плагин PVS-Studio появился на портале плагинов для интегрированной среды разработки OpenIDE.
OpenIDE — бесплатная лицензионно чистая IDE на базе IntelliJ IDEA Community Edition с открытым исходным кодом. Недавно мы выпустили небольшую статью про интеграцию плагина в OpenIDE и привели подробную инструкцию по его установке и использованию.
Подробнее о работе с этим плагином можно прочитать в документации.
Улучшение механизма taint-анализа
В C и C++ анализаторе улучшен механизм анализа помеченных данных (taint-анализ). Теперь корректно отслеживается заражённость при использовании оператора %, исправлено отсутствие предупреждений о передаче зараженных данных в функцию ReadFile, а также улучшена обработка taint-статусов в ветвлениях. Это повышает точность обнаружения уязвимостей, связанных с непроверенными данными.
Классификация критических ошибок в SonarQube
В плагин PVS-Studio для системы контроля качества кода SonarQube добавлена классификация срабатываний анализатора PVS-Studio в соответствии со списком критических ошибок из стандарта ГОСТ Р 71207-2024. Стандарт посвящён использованию статических анализаторов в процессе разработки безопасного программного обеспечения (РБПО).
Теперь предупреждения анализатора размечаются метками с префиксом SEC-, что упрощает и ускоряет соответствие стандарту ГОСТ Р 71207-2024.

Подробнее об этой классификации можно прочитать по ссылке.
Breaking Changes
Данные изменения ломают обратную совместимость с предыдущими версиями анализатора. В связи с ними вам может потребоваться изменить способ использования анализатора.
= delete. Возможно повторное попадание ранее подавленных срабатываний в отчёт анализатора.Новые диагностические правила
C и C++:
C#:
Java:
Статьи
Для тех, кто пишет на C++:
Для тех, кто пишет на C#:
Для тех, кто пишет на Java:
Статьи общей направленности:
Вебинары

Вокруг РБПО за 25 вебинаров: ГОСТ Р 56939-2024
Новый ГОСТ Р 56939-2024 описывает 25 процессов для создания безопасного программного обеспечения (РБПО). Каждый из этих процессов можно представить в виде списка действий, направленных на создание более зрелого цикла разработки ПО в компании.
Учебный Центр "МАСКОМ" и PVS-Studio организуют цикл вебинаров, посвящённых разбору этих 25 процессов.
Вебинары проходят каждую неделю, регистрация доступна по ссылке.
Безопасность приложений: инструменты и практики для Java-разработчиков
В этом вебинаре спикеры определили, как максимально быстро и эффективно обеспечить защиту Java-приложений и какие инструменты для этого использовать. Поговорили про ГОСТ, критические ошибки и процесс безопасной разработки. Показали на примерах, как использовать анализатор PVS-Studio и продукты компании Axiom JDK.
Посмотреть можно по ссылке.
Полезные видео для работы с PVS-Studio
Что такое PVS-Studio?
В этом небольшом видео мы затрагиваем самые важные темы и аспекты статического анализатора PVS-Studio. Вы сможете узнать не только, как он может вам помочь, но и какие в нём используются механизмы и подходы.
Посмотреть можно по ссылке.
Интеграция результатов анализа PVS-Studio в SonarQube
Для пользователей PVS-Studio существует плагин, позволяющий добавлять сообщения анализатора в базу сообщений SonarQube. В этом видео на примере проверки C++ проекта мы показали, как интегрировать результаты анализа PVS-Studio в SonarQube.
Посмотреть можно по ссылке.
Использование расширения PVS-Studio для Visual Studio Code
Для работы со статическим анализатором кода PVS-Studio в Visual Studio Code есть специальное расширение, работу которого мы рассмотрели в этом видео.
Посмотреть можно по ссылке.
Как работать с PVS-Studio в Visual Studio
Плагин PVS-Studio для среды разработки Microsoft Visual Studio предоставляет широкий спектр возможностей. В этом видео мы рассказали, как установить анализатор, запустить анализ на проекте, а также о том, какие настройки помогут сделать отчёт анализатора более точным.
Посмотреть можно по ссылке.
Доклады
Серия докладов про новый ГОСТ Р 56939-2024
Андрей Карпов, сооснователь PVS-Studio, в серии докладов разобрал новый ГОСТ Р 56939-2024: причины его создания, содержание, процессы РБПО и особенности сертификации.
Посмотреть можно по ссылке.
Регулярный статический анализ. Не только полезно, но и необходимо | Merge Tatarstan 2025
Зачем нужен статический анализ кода, как он помогает находить потенциальные уязвимости и ошибки? В своем докладе Валерий Филатов, C# разработчик PVS-Studio, рассказал о практических методах, типичных ошибках и о том, как сделать статический анализ реальным инструментом повышения качества, а не формальной галочкой в отчёте.
Посмотреть можно по ссылке.
Типовые паттерны опечаток в коде и как с ними бороться
Андрей Карпов, автор книги "Вредные советы для C++ программистов", раскрыл главные антипаттерны в коде — какие ошибки делают все и как их не повторять.
Посмотреть можно по ссылке.
Хотите проверить свой проект с помощью PVS-Studio? Начните с этой страницы.
Если вы хотите получать новости о новых релизах, можете подписаться на рассылку от команды PVS-Studio по ссылке.
0