PVS-Studio 7.43: анализ Unreal Engine для Team, поддержка Zephyr SDK и многое другое

от автора

Вышел новый релиз PVS-Studio — 7.43. В нём: расширение поддержки MISRA C++ 2023, возможность анализировать Unreal Engine проекты на Team лицензии, поддержка Zephyr SDK и многое другое.

Анализ Unreal Engine для Team

С версии PVS-Studio 7.43 пользователям с лицензией Team доступен анализ Unreal Engine проектов.

Ранее для использования интеграции с Unreal Build Tool требовалась лицензия типа Enterprise.

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

MISRA C++ 2023

Мы продолжаем работать над улучшением поддержки стандарта MISRA C++ 2023.

В новой версии мы адаптировали 12 существующих диагностических правил группы MISRA под стандарт MISRA C++ 2023.

Подробнее о поддержке стандартов MISRA можно прочитать на этой странице.

Улучшения в интеграции в SourceCraft

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

За прошедшее время мы улучшили процесс использования анализатора в этой платформе. Теперь для анализа проектов можно использовать готовые образы PVS-Studio, содержащие все зависимости, необходимые для работы анализатора. В нашем репозитории можно найти Dockerfile для этих образов, а также пример настройки анализа C++ проекта.

Поддержка Zephyr SDK

В новой версии мы поддержали анализ проектов, использующих компилятор из Zephyr SDK. Проанализировать такие проекты можно на основе compile_commands.json или с помощью мониторинга компиляции. Подробнее об этом можно прочитать в документации.

Улучшения анализаторов

В C и C++ анализаторе улучшен межпроцедурный анализ циклов. Теперь анализатор умеет обсчитывать канонические циклы с учётом возможных диапазонов значений переменных.

В C# анализаторе была поддержана работа с .NET SDK версии 10.0.300 на Linux и macOS. О том, как использовать анализатор на этих платформах, можно прочитать в документации.

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

Java

  • V6135. The return value of the ‘finally’ block overrides return values of ‘try’ and ‘catch’ blocks.

Статьи

А вот и традиционная подборка публикаций из нашего блога! За прошедшие два месяца мы выпустили статьи, в которых изучали вайб-код, разбирали выравнивание в C++ и обработку ошибок в Go, исследовали нововведения Java 26, праздновали эволюцию нашего маскота Коди и многое другое. Полный список представлен ниже.

C и C++

C#

Java

JavaScript

Go

Security

GameDev

Другое

Центр обучений PVS-Studio

На нашем сайте появился Центр обучений. Здесь можно найти различные обучающие материалы по самым разным темам.

За прошедшее время в Центре обучений появились два курса:

  • В курсе “Давайте создадим язык программирования” архитектор C++ анализатора Юрий Минаев в формате лайвкодинга показывает весь процесс разработки на C++ выдуманного языка программирования. В ходе курса вы разберётесь, что такое язык и как формально описать его так, чтобы машина всё поняла.

  • НЕкурс “Разработка безопасного программного обеспечения (РБПО) по ГОСТ Р 56939—2024” посвящён методологии разработки безопасного программного обеспечения. В его рамках рассматриваются ключевые процессы безопасной разработки: планирование, обучение команды, архитектура, анализ кода, тестирование уязвимостями и безопасная поставка ПО.

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

Также мы активно расширяем образовательное направление и ищем коллег, готовых вместе с нами формировать культуру безопасной разработки. Подробнее о возможностях сотрудничества можно узнать здесь.

Доклады

Семантика C++ изнутри компилятора. Доклад с C++ Russia 2025

Юpий Минаев, архитектор C++ анализатора, поговорил о семантике C++ с точки зрения статического анализатоpа или фpонтенда компилятоpа. Рассмотрел, как устроена таблица символов и как пpоисходит поиск имён, а также как семантика влияет на паpсинг. Также поговоpили о том, как пpоисходит выбоp пеpегpузок и каким обpазом компилятоp находит функции, которые даже не видны в текущей точке программы. Ещё затронули тему шаблонов и их инстанцирования.

Вебинары

Тимлид: ожидания, реальность и внутpенние вопpосы

Быть тимлидом — это не только пpо пpоцессы и задачи, но и пpо людей, ожидания и собственные сомнения. Вебинаp подойдёт тем, кто уже тимлид или только собиpается им стать и хочет понять: “Это моё?”

Спикеpы:

Инна Пpистягина — pуководитель отдела pазвития PVS-Studio. Разбеpёт, кто такой менеджеp в IT и зачем он нужен, как выстpаивать взаимодействие с командой, какие стили упpавления pаботают и как не наломать дpов на стаpте.

Ольга Ладошкина — коуч IT-pуководителей и упpавленческих команд, бизнес-тpенеp, основатель пpоекта “Лидеpская кухня”; пpеподаватель на куpсах по менеджменту в Яндекс Пpактикуме; внешний экспеpт в Сбеpе (“Школа 21”) и технопаpке “Сколково”; ex-pуководитель напpавления B2B-пpодаж в федеpальной IT-компании. Поговоpит о внутpенней стоpоне лидеpства: почему этот путь пугает, с какими ловушками сталкиваются новые лидеpы и как не потеpять себя. Разбеpёт pеальные кейсы и пpостые инстpументы, котоpые помогут спpавляться и с командой, и с собой.

Зачем тестиpовщику нужна безопасность?

Вместе с Семёном Ремезовым, Senior QA в компании “Гpинатом”, pазобpали, как мануальному тестиpовщику начать pаботать с безопасностью без узкой специализации в ИБ:

  • какие базовые навыки нужны;

  • как находить уязвимости на пpактике;

  • что делать с найденными пpоблемами;

  • как повысить свою ценность на pынке.

Также обсудили, как стандаpты и ГОСТы влияют на вашу pаботу, даже если вы этого не замечаете, и к чему стоит готовиться дальше.

Онбоpдинг 2026

Как быстpо и безболезненно включать новых сотpудников в pаботу? Что действительно pаботает в онбоpдинге сегодня, а что ведёт к тpате вpемени? На вебинаpе pазобpали базу и поговоpили о подводных камнях адаптации в IT-командах.

Екатеpина Мельникова — pуководитель HR-отдела в PVS-Studio. В своём докладе “Онбоpдинг: база, котоpую нужно знать” pассказала пpо пять ключевых этапов онбоpдинга — ту самую базу, о котоpой часто забывают. Поделилась pабочими кейсами и pазобpала типичные ошибки, которые мешают эффективной адаптации сотрудников.

Аpтуp Дементьев — 18+ лет опыта в области технологий (FinTech, e-commerce, AI, Blockchain и дp.); запускал и pазвивал пpодукты с аудитоpией 10+ млн пользователей; упpавлял командами более 600 человек; ex-CTO NBU Ban;, запустил собственный ИИ пpодукт без команды и бюджета. В своём докладе “Скелеты в шкафу во вpемя онбоpдинга” pазобpал, зачем нужен онбоpдинг и какие пpоблемы он pешает в совpеменных pеалиях. Рассказал о подходах, инструментах и нюансах, которые помогают сделать процесс эффективным.

Современный Gradle для Java разработчика

Мы запустили цикл вебинаров, посвящённых современному Gradle для Java разработчика.

В первом вебинаре Егор Пиший, Java разработчик в PVS-Studio, расскажет, зачем в современных проектах нужны модули и как они помогают масштабировать кодовую базу без хаоса. Вместе с Егором посмотрим, как устроен жизненный цикл Gradle и какие механизмы стоят за его скоростью и гибкостью. В формате лайвкодинга с нуля создадим базовую структуру мультимодульного проекта, настроим зависимости между модулями и обсудим лучшие практики организации кода. В результате вы получите понятную основу для построения поддерживаемых и расширяемых Java проектов любой сложности.

А во втором вебинаре разбираем разницу между плагинами java и java-library и учимся управлять видимостью зависимостей между модулями. Смотрим, почему implementation скрывает зависимость от потребителей и когда это ломает компиляцию. Читаем граф зависимостей через dependencies и dependencyInsight, находим транзитивные цепочки и на примере Guava разбираемся, как Gradle разрешает конфликты версий. В конце создаём кастомные конфигурации и собираем два отдельных рантайма под prod и local окружения.

Подводные камни регулярных выражений: катастрофический возврат, ReDoS-атаки и выявление уязвимостей

Все знают про регулярные выражения, многие используют их на регулярной (фить-ха!) основе. Однако не все знают, что у них есть слабые места. На вебинаре разобрали, что же скрывают внутри себя регулярные выражения, как они могут привести к уязвимостям, ReDoS-атакам и другим проблемам с безопасностью в программе.

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

Хороший тимлид не друг и не надсмотрщик. Как найти баланс через 1-to-1

Тимлиды приходят в роль через сильную техническую экспертизу, но дальше рост зависит от умения работать с людьми: выстраивать коммуникацию, замечать изменения в состоянии команды и вовремя реагировать на проблемы. На вебинаре поговорим о том, как использовать 1-to-1 в качестве рабочего инструмента управления командой.

Юлия Лантратова — специалист по развитию персонала в PVS-Studio. На 1-to-1 тимлиду может быть видно, что с сотрудником что-то происходит: он выгорает, теряет мотивацию, закрывается или уже задумывается об уходе. В докладе “Human Debugging: как тимлиду читать команду через 1-to-1”, Юля расскажет о том, как это замечать: на что обращать внимание, какие вопросы задавать, какие ошибки тимлиды чаще всего совершают в разговорах.

Марина Пайч — HRD, коуч ICF для руководителей, экс-топ менеджер, 12 лет в IT. В своём докладе “1-to-1 для тимлида: как расти через управление людьми” разберёт, как использовать 1-to-1 как инструмент личного управленческого роста: как готовиться к разговорам, проводить их эффективно и превращать встречи с командой в качественно реализованный технический продукт.

Разбаговка

В новом выпуске подкаста “Разбаговка” говорим про контроль команды. У нас в гостях Инна Пристягина, руководитель отдела развития в PVS-Studio, и Юлия Резниченко, директор по маркетингу в EvApps.

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

Завершение

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

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

Если хотите поделиться этой статьей с англоязычной аудиторией, то прошу использовать ссылку на перевод: Valerii Filatov. PVS-Studio 7.43: Unreal Engine support in Team license, extended MISRA C++ 2023, Zephyr SDK support, and more.

ссылка на оригинал статьи https://habr.com/ru/articles/1049606/