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

Вебинар: Инструменты для разработчиков игр и не только - 26.02

>
>
PVS-Studio 7.41: MISRA C 2023,...

PVS-Studio 7.41: MISRA C 2023, улучшения в работе с Unreal Engine, внедрение системы логирования и многое другое

20 Фев 2026

Вышел новый релиз PVS-Studio — 7.41. В нём улучшения для Unreal Engine, поддержка MISRA C 2023, обновление плагина для IntelliJ IDEA и другие полезные изменения. Подробнее в этой заметке.

Поддержка стандарта MISRA C 2023

На протяжении года мы работали над увеличением покрытия стандарта MISRA C 2023. Сегодня покрытие этого стандарта анализатором PVS-Studio находится на уровне 86%. Подробнее об этом можно узнать на этой странице.

В дальнейшем мы планируем повысить покрытие стандарта MISRA C++ 2023.

Улучшения работы с Unreal Engine

Мы продолжаем улучшать работу PVS-Studio с кодом Unreal Engine проектов.

В этом релизе мы улучшили диагностические возможности C++ анализатора для работы с этими проектами. Были исправлены работа диагностического правила V557 с контейнерами движка и проблема парсинга спецификатора final в виртуальных функциях.

Подробнее о работе PVS-Studio с Unreal Engine можно прочитать в документации.

Расширение taint-анализа в C#

В C# анализаторе расширена поддержка taint-анализа. Пользовательские JSON-аннотации теперь можно добавлять для async-функций. Также мы разметили async-функции классов стандартной библиотеки.

Механизм пользовательских аннотаций позволяет с помощью JSON-файла задать анализатору дополнительный контекст для анализа. Такая возможность появилась в C# анализаторе PVS-Studio в версии 7.33. Подробнее о его работе можно прочитать в документации.

Удаление неактуальных маркеров подавления

В дистрибутивах PVS-Studio появилась новая утилита — pvs-fp-cleaner. Она предназначена для удаления неактуальных маркеров подавления ложноположительных срабатываний из кодовой базы.

Маркеры подавления — это комментарии в коде, которые указывают анализатору, что срабатывание диагностического правила на строке является ложноположительным, и его не нужно включать в отчёт. Ранее для удаления таких маркеров потребовалось бы вручную просматривать весь код.

Подробнее о работе новой утилиты можно прочитать в документации.

Новая система логирования

С этого релиза мы начинаем внедрение новой системы логирования.

Благодаря этой системе будет проще собирать информацию проблемах, возникающих при работе анализаторов PVS-Studio, что упростит работу технической поддержки.

На первом этапе расширенное логирование было добавлено для кроссплатформенного анализатора C и C++ проектов. В следующем релизе расширенное логирование будет поддержано в анализаторе C++ и C# проектов на основе сборочной системы MSBuild.

Подробнее о новой системе логирования можно прочитать в документации.

Улучшения плагина для IntelliJ IDEA и OpenIDE

Мы продолжаем улучшать наши плагины для IDE, чтобы использование анализатора на этапе разработки было удобным.

В этом релизе мы добавили в плагин для IntelliJ IDEA и OpenIDE возможность конвертации отчёта анализатора в CSV-формат и настройку для отображения относительных путей. Также было исправлено замедление при открытии документации.

Подробнее о работе плагина для IntelliJ IDEA и OpenIDE можно прочитать в документации.

Breaking Changes

Эти изменения ломают обратную совместимость с предыдущими версиями анализатора. В связи с этим вам может потребоваться изменить способ использования анализатора.

  • Стандартизирован вывод анализатора в формате CSV. Выдаваемый утилитами конвертации отчёт изменён для всех платформ.
  • Изменено сообщение для диагностического правила V2609. Возможно повторное попадание ранее подавленных сообщений в отчёт анализатора.

Новые диагностические правила

C и C++

  • V2667. MISRA. The value of an expression and its persistent side effects must be the same under all permitted evaluation orders and must be independent from thread interleaving.
  • V2668. MISRA. Macro parameter immediately following by the '#' operator should not immediately be followed by the '##' operator.
  • V2669. MISRA. Tokens that look like a preprocessing directive should not occur within a macro argument.
  • V2670. MISRA. Thread objects, thread synchronization objects, and thread-specific storage pointers should only be accessed by the appropriate Standard Library functions.
  • V2671. MISRA. Pointers returned by the function 'localeconv' / 'getenv' / 'setlocale' / 'strerror' should be used as if they have pointer to const-qualified type.
  • V2672. MISRA. Subtraction between pointers should only be applied to pointers that address elements of the same array.

C#

  • V3230. Comparison with 'typeof(Nullable)' is meaningless. Calling 'GetType()' on a nullable variable never returns 'Nullable'.

Java

  • V5339. OWASP. Potential RCE vulnerability. Insecure GraalVM context is used to process potentially tainted data.
  • V5340. OWASP. Code contains invisible characters that may alter its logic. Consider enabling the display of invisible characters in the code editor.

Статьи

Традиционная подборка публикаций из нашего блога. За последние два месяца мы выпустили статьи, в которых разобрали лучшие ошибки в C++, C# и Java за 2025 год, объяснили тонкости выравнивания, рассказали, как опасные моды могут нарушить безопасность сервера в Minecraft, и многое другое. Полный список статей по разным темам представлен ниже.

C и C++

C#

Java

GameDev

Security

Другое

Вебинары

26 февраля пройдёт наш новый вебинар по теме разработки игр. В этот раз обсудим инструменты разработчиков игр.

В программе вебинара:

"Инструментальное профилирование видеоигр" от Сергея Кушниренко, Senior Software Engineer в команде Age of Empires 2 (студия Forgotten Empires):

Производительность в играх важна всегда и везде. Для игрока она почти так же критична, как и интересный геймплей, потому что никакие красивые эффекты не спасут игру, если она тормозит или дёргается. Об инструментах профилирования должны знать не только программисты движка, которые ловят фризы и оптимизируют код, но и художники с дизами, чтобы следить за тем, насколько тяжёлым становится игровой контент и не ломает ли он техническую часть игры.

"Инструменты профилирования в геймдеве и кейсы использования" от Андрея Зенковича, TeamLead в команде Playrix:

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

"Превратили PVS-Studio в город" от Александры Уваровой, Developer Advocate (С++) в PVS-Studio:

Вы когда-нибудь хотели взглянуть на свой код под новым углом? Мы нашли инструмент, который сделал целый город из кода PVS-Studio. Давайте вместе прогуляемся по нему и узнаем, какие тайны он в себе хранит!

Модератором выступит Глеб Асламов, Developer Advocate в PVS-Studio.

Регистрация на вебинар.

Вокруг РБПО за 25 вебинаров: ГОСТ Р 56939-2024

Мы наконец завершили разбор 25 процессов создания безопасного программного обеспечения (РБПО) в рамках совместного с Учебным Центром "МАСКОМ" цикла вебинаров. Также мы провели несколько дополнительных вебинаров, чтобы максимально полно охватить тему безопасной разработки.

Записи всех прошедших вебинаров можно найти на этой странице.

Тимлидами рождаются или становятся: базовые настройки руководителя

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

Инна Пристягина (руководитель отдела развития, PVS-Studio) провела доклад на тему "Что должен уметь тимлид. Она разобрала, как в PVS-Studio на практике проходит путь развития тимлида: от первых задач до построения годового роадмапа для команды. А ещё поделилась инструментами, с которыми тимлид так или иначе знакомится в своей работе.

Владимир Куропятник (руководитель отделов обучения, тренер и консультант руководителей) выступил с докладом"Руководитель: базовые принципы и первые шаги". Владимир поделился, как регулярность, предсказуемость, смелость и развитие людей помогают строить систему управления с повторяемыми результатами. А ещё разобрал конкретные приёмы, которые может взять любой руководитель и применить в своей работе.

Посмотреть можно по ссылке.

Как системному аналитику уйти от документирования к проектированию

Системный аналитик часто превращается в дорогого секретаря, который фиксирует решения постфактум, создаёт артефакты, которыми никто не пользуется, и почти не влияет на результат. Ценность роли падает, багов в проде много, а внутри скребут кошки. В докладе разобрали, как разорвать этот круг: перестать быть документистом, обрести ментальное здоровье, приносить реальную пользу команде и улучшать продукт, одновременно сокращая время на работу.

Спикеры:

Филипп Хандельянц (Руководитель разработки статических анализаторов, PVS-Studio).

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

Владимир Бурмистров (Главный системный аналитик, IT-холдинг Т1)

18 лет в IT. Прошёл путь от автоматизации бухгалтерии и производств до финтеха. Автор курсов и преподаватель. Может без ИИ найти информацию как в интернете, так и в библиотеке.

Посмотреть можно по ссылке.

Подкасты

За прошедшее с прошлого пресс-релиза время мы выпустили целых два выпуска подкаста "Разбаговка"!

В выпуске с Евгением Сергеевым, также известным как S0ER, мы обсудили различные вопросы, посвящённые использованию ИИ в разработке:

  • Как LLM справляются с реальным кодом и с огромными проектами?
  • В чём разница между агентами и ассистентами, и почему параллельность может стать ключом к прорыву?
  • Насколько это всё дорого?
  • Как бороться с иллюзией компетентности ИИ?
  • Действительно ли вайбкодинг станет будущим разработки?
  • Изменит ли ИИ саму культуру программирования?
  • Заменит ли ИИ обычных разработчиков?

Посмотреть выпуск можно здесь.

В выпуске с Софией Наймушиной (Project Marketing Manager ТестОпс) и Елизаветой Кузнецовой (руководитель Event-отдела PVS-Studio) продолжили обсуждать необходимость ивентов для продвижения сложных продуктов. В этот раз обсудили, чем отличаются подходы к организации ивентов в разных, но смежных областях, зачем нужны стенды и многое другое.

Посмотреть выпуск можно здесь.

Завершение

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

А если вы ещё не проверяли свой проект с помощью PVS-Studio, можно начать с пробной лицензии.

Последние статьи:

Опрос:

book gost

Дарим
электронную книгу
за подписку!

Подписаться на рассылку
Хотите раз в месяц получать от нас подборку вышедших в этот период самых интересных статей и новостей? Подписывайтесь!
Популярные статьи по теме


Комментарии (0)

Следующие комментарии next comments
close comment form