Компания PVS-Studio представила очередной выпуск своего решения по обеспечению качества, надёжности и защищённости исходного кода — PVS-Studio 8.01. В обновлении объявлена поддержка новых версий языков и платформ: анализатор Java теперь работает с JDK 25, а анализатор Go — с Go 1.27. Также разработчики расширили настройки анализа и фильтрации отчётов, чтобы команды могли адаптировать инструмент под конкретные проекты и среды. Об этом сообщили представители PVS-Studio и партнёры из CNews. Источники релиза и сопровождающая заметка подчеркивают, что новые версии языков позволяют не откладывать обновления инструментов без риска пропустить важные зависимости и новые возможности.” sources:[24,28,29]},{

На фоне обновления меркнет одна из ключевых задач — проверить полноту обнаружения уязвимостей в существующем коде и понять, какие дефекты инструмент может пропустить. В новой версии был протестирован SAST-аналитик Java на бенчмарке OWASP Benchmark for Java — одном из ориентиров для оценки эффективности средств поиска уязвимостей в программном коде. По словам Project Lead отдела Java разработки Кирилла Епифанова, применение такого бенчмарка позволяет объективнее оценивать реальные возможности обнаружения и выявлять недочёты в SAST‑правилах Java. Это, в свою очередь, позволяет повысить эффективность выявления дефектов безопасности на реальных проектах и снизить риск пропуска нарушений.” sources:[25,26]},{

Помимо общего обновления функциональности, релиз 8.01 включает три диагностических правила для Java, ориентированных на требования OWASP ASVS: V5341 о создании куки без атрибута Secure, что может привести к раскрытию чувствительных данных; V5342 о потенциально «зараженными» данных, попавших в объекты, которые могут служить источником доверенных данных; и V5343 о использовании криптографически слабых генераторов случайных чисел для чувствительных данных. Эти правила расширяют набор проверок и нацелены на соответствие современным стандартам безопасности. Источник: блок 27.

Помимо проверки кода, в релиз включена поддержка новых версий платформ: Java-анализатор теперь работает на JDK 25, а Go‑анализатор — на Go 1.27. Это позволяет командам проверять проекты, применяющие актуальные версии языков и стандартных библиотек, без отстаивания обновления инструментов из‑за несовместимости. Особенно это актуально для организаций, переходящих на долгосрочную поддержку Java и обновляющих стек технологий. Дополнительно компания отметила, что для MSBuild‑проектов появилась возможность сохранять в JSON‑отчёте конфигурации проектов, которые использовались при анализе, что упрощает исправление срабатываний на разных платформах.

Другие улучшения включают обновления в отчёте fullhtml, который формирует утилита PlogConverter.exe: сработавшие правила теперь группируются по конфигурации анализа, что упрощает анализ результатов. Также в версии 8.01 появились дополнительные параметры настройки для адаптации анализатора к особенностям проекта и среды разработки, в частности для JavaScript и TypeScript добавлена настройка max-old-space-size. Её можно указать через файл pvs-settings.toml или через консольную утилиту pvs-js.exe, чтобы контролировать объём памяти, доступный Node.js‑серверу анализатора.

Появились и другие изменения, которые позволяют более гибко работать с зависимостями и конфигурациями: утилита PVS-Studio_Cmd.exe позволяет задавать пути к кэшам зависимостей относительно файла конфигурации .pvsconfig, расширены возможности настройки диагностических правил для C и C++, включая выбор «дешёвых» типов копирования и настройку поведения анализатора в зависимости от целевой платформы; а также в правилах V719 добавлена возможность игнорирования parts ветки по умолчанию и небольших перечислений enum, задания конкретных значений и допустимого количества игнорируемых констант. Эти детали отражены в блоках релизных заметок релиза 8.01 и сопутствующих материалов.

Однако выпуск несёт и предупреждение о несовместимости с предыдущими версиями: в релизе произошли изменения, которые ломают обратную совместимость, и может потребоваться изменить способы использования анализатора. Для Windows‑установщика добавлен код возврата 100, который выдаётся при неудачной установке плагинов для Visual Studio; введён флаг skipVSIXInstallErrorCode, предназначенный отключать ненулевой код возврата в подобной ситуации. Эти детали подчёркнуты в блоках 40–41 релизных заметок. Источники:[40,41]