>
>
Релиз PVS-Studio 7.17: улучшаем работу …

Сергей Васильев
Статей: 96

Релиз PVS-Studio 7.17: улучшаем работу с Unreal Engine, ASP.NET Core, Texas Instruments

С радостью представляем вам сводку новостей о первом релизе 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.

Почитать и посмотреть

Во-первых, в конце года мы подводили итоги:

Во-вторых, составили список ресурсов, которые могут быть полезны для C++ и C# разработчиков:

Никуда не делись статьи про проверку проектов. Например, про .NET 6 и Flipper Zero. Любители теоретических публикаций могут почитать про эволюцию constexpr в C++ или про технологии анализа, используемые в PVS-Studio.

Напоследок напоминаю, что у нас есть YouTube-канал, который достаточно активно пополняется контентом – заходите посмотреть!