Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
С радостью представляем вам сводку новостей о первом релизе PVS-Studio в 2022 году. Сегодня поговорим об улучшениях в работе с Unreal Engine и ASP.NET Core проектами, новых диагностиках, а также о том, что интересного почитать и посмотреть.
Различные улучшения
Работа с файлами подавления для Unreal Engine проектов из IDE
Мы продолжаем улучшать сценарии работы с Unreal Engine проектами. Теперь с файлами подавления предупреждений можно работать через плагины PVS-Studio для Visual Studio и JetBrains Rider. Это позволит как более удобно выполнять baselining при внедрении анализатора, так и подавлять / сбрасывать подавление предупреждений уже после внедрения – при регулярной работе.
Более подробно про это можно почитать в документации.
Улучшение анализа ASP.NET Core проектов
В C# анализаторе был расширен список аннотаций методов из состава ASP.NET Core. Это позволит PVS-Studio лучше понимать, что происходит в коде, работающем с ASP.NET Core. Как следствие – находить больше проблем и выдавать меньше false positive срабатываний.
Поддержка компилятора C6000-CGT от Texas Instruments
В анализатор PVS-Studio для языков C и C++ добавлена поддержка проверки проектов, предназначенных для C6000-CGT – компилятора для встраиваемых систем от Texas Instruments. Кстати, полный список поддерживаемых PVS-Studio платформ и компиляторов можно посмотреть здесь.
Изменение алгоритма генерации хэш-сумм для файлов подавления в JSON-формате
Да, из заголовка не очень понятно, зачем это было сделано. :) Рассказываем. В будущем это изменение позволит иметь полную переносимость JSON-файлов подавления для всех сценариев работы анализатора.
Алгоритм поменялся в инструменте для анализа LLVM Compilation Database и трассировки вызовов (pvs-studio-analyzer), а также в конвертере отчётов (plog-converter). Работа с файлами старого формата поддерживается в режиме обратной совместимости. При необходимости пополнения файлов подавления мы рекомендуем перегенерировать их в новом формате.
Новые диагностики
C, C++
- V1077. Constructor contains potentially uninitialized members.
- V1078. An empty container is iterated. The loop will not be executed.
- V2017. String literal is identical to variable name. It is possible that the variable should be used instead of the string literal.
C#
- V3174. Suspicious subexpression in a sequence of similar comparisons.
- V5617. OWASP. Assigning potentially negative or large value as timeout of HTTP session can lead to excessive session expiration time.
- V5618. OWASP. Possible server-side request forgery. Potentially tainted data is used in the URL.
Почитать и посмотреть
Во-первых, в конце года мы подводили итоги:
- Что нового появилось в PVS-Studio в 2021 году
- Топ-10 ошибок в C++ проектах за 2021 год
- Топ-10 ошибок, найденных в C#-проектах за 2021 год
Во-вторых, составили список ресурсов, которые могут быть полезны для C++ и C# разработчиков:
- Самые интересные блоги и сайты для C++ программистов
- Самые интересные блоги и сайты по C# / .NET
Никуда не делись статьи про проверку проектов. Например, про .NET 6 и Flipper Zero. Любители теоретических публикаций могут почитать про эволюцию constexpr в C++ или про технологии анализа, используемые в PVS-Studio.
Напоследок напоминаю, что у нас есть YouTube-канал, который достаточно активно пополняется контентом – заходите посмотреть!
Если хотите поделиться этой статьей с англоязычной аудиторией, то прошу использовать ссылку на перевод: Sergey Vasiliev. PVS-Studio 7.17: Unreal Engine, ASP.NET Core, Texas Instruments.