Вышла версия 8.00 статического анализатора кода PVS-Studio. Это инструмент, который автоматически «читает» исходный код программы и помогает разработчикам находить в нём ошибки, потенциальные уязвимости и другие проблемы ещё до запуска тестов.
Главное нововведение релиза — поддержка трёх новых языков: JavaScript, TypeScript и Go, помимо прежних C, C++, C# и Java. Одновременно выпущены плагины для WebStorm и GoLand, переработано расширение для Visual Studio Code и введён единый формат файла конфигурации pvs-settings.toml.
Три новых языка в одном инструменте
Анализаторы JavaScript/TypeScript и Go работают и в командной строке, и в IDE. Для каждого языка реализовано по 40 диагностических правил общего назначения и по одному правилу из группы OWASP. Они рассчитаны на дефекты, которые сложно заметить на код-ревью: эквивалентные операнды в условиях, недостижимый код, бесконечная рекурсия, ошибки приведения типов, некорректные форматные строки, неверная работа со счётчиками циклов.
Анализатор стал более привлекательным для компаний со смешанным стеком (C, C++, C#, Java, JS, TS, Go): один вендор и одна точка технической поддержки вместо отдельного инструмента на каждый язык.
Настройка один раз — одинаковый результат везде
В релизе появился единый формат конфигурации для новых анализаторов — файл pvs-settings.toml. Настройки анализа хранятся в репозитории рядом с кодом, поэтому на машине разработчика, на сборочном сервере и у подрядчика анализ выполняется одинаково. Это снимает типичную проблему внедрения, когда локально предупреждений нет, а сборка в CI падает.
Анализ там, где работают разработчики
Выпущены плагины для WebStorm и GoLand, переработан плагин для Visual Studio Code —анализатор настраивается прямо из панели настроек редактора. Плагин для Qt Creator поддерживает версии 20.x. Вместе с уже поддержанными Visual Studio, IntelliJ IDEA, CLion и Rider это значит, что разработчик видит предупреждение до того, как код уйдёт в pull request, — на стадии, где исправление обходится дешевле всего.
Соответствие отраслевым требованиям
16 диагностик группы MISRA приведены в соответствие со стандартом MISRA C++ 2023. Диагностики PVS-Studio также соотнесены с CWE, SEI CERT, OWASP и ГОСТ Р 71207–2024 — это упрощает подготовку отчётности для аудита и сертификации ПО, к которому предъявляются соответствующие требования по безопасности. MISRA C++ 2023 — действующая редакция отраслевого стандарта для встраиваемых и ответственных систем.
Новые интеграции
Создан новый раздел в документации по использованию PVS-Studio в платформе безопасной разработки SolidLab SDP. Теперь анализатор можно применять в качестве SAST инструмента при автоматизации процессов SSDLC средствами платформы.
Шаблоны сценариев PVS-Studio добавлены в коллекцию GitVerse Starter Workflow — подключить анализ к CI/CD-конвейеру можно из готового шаблона, минимально адаптировав команды под проект.
Embedded-разработчикам
Расширен список поддерживаемых сборочных окружений: через мониторинг/трассировку компиляции поддержаны kcc ARMV7 и TI C2000-CGT — это важно для встраиваемых проектов.
Что учесть при обновлении
Действующим пользователям стоит обратить внимание на несколько изменений: в проектах Unreal Engine перестал учитываться флаг //V_USE_OLD_PARSER, в Java-анализаторе добавлена сортировка содержимого suppress-файлов, изменены тексты сообщений правил V2558 и V547 (ранее подавленные предупреждения могут появиться снова), минимальная версия VS Code повышена до 1.100.
Как попробовать
Версия 8.00 доступна на сайте PVS-Studio, полный список изменений — в блоге компании. Оценить анализатор на своём коде можно по пробной лицензии.
Статический анализатор кода PVS-Studio доступен в Merlion под заказ.
ООО "Мерлион" ОГРН 1037719016818
Новости