>
>
PVS-Studio 7.22: Visual Studio Code, Qt…

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

PVS-Studio 7.22: Visual Studio Code, Qt Creator, .NET 7

Вышел новый релиз PVS-Studio — 7.22. В него вошли плагины для Visual Studio Code и Qt Creator, поддержка анализа проектов на .NET 7, доработки механизма Best Warnings, новые диагностики и не только. Подробности описали в этой заметке.

Плагины для Visual Studio Code и Qt Creator

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

Так выглядит плагин для Visual Studio Code (скриншот кликабельный):

А вот так — плагин для Qt Creator (скриншот кликабельный):

Документация по новым плагинам доступна на соответствующих страницах:

Поддержка анализа .NET 7, C# 11 и Blazor компонентов

Здесь почти всё понятно из заголовка. Сам C# анализатор под Linux и macOS, кстати, теперь тоже работает на .NET 7.

Небольшое уточнение про Blazor компоненты: сейчас поддерживается анализ в @code секциях .razor-файлов. Планируем статью, которая раскроет тему чуть подробнее.

Улучшения и доработки Best Warnings

Напомню, что Best Warnings — механизм, который из всех предупреждений анализатора выбирает самые интересные. Особенно полезен при первом знакомстве с PVS-Studio, так как поможет в один клик оценить, что интересного удалось найти.

В этом релизе обновлений Best Warnings сразу несколько:

1. Изменили интерфейс. До кнопки "Best Warnings" легче добраться — теперь она находится на основной панели главного окна PVS-Studio (скриншот кликабельный):

Если нужно, кнопку можно скрыть через настройки (опция "Show Best Warnings Button").

2. Скорректировали "веса" диагностик и алгоритмы выборки. Это должно сделать подборку предупреждений более интересной.

3. Добавили фильтр в большее количество IDE. Раньше механизм Best Warnings был доступен только в плагине для Visual Studio. Теперь кроме VS его можно использовать в утилите "C and C++ Compiler Monitoring UI", а также в плагинах для IntelliJ IDEA, Rider, CLion.

Обновлённая документация по Best Warnings — на этой странице.

Новые диагностики

C, C++

  • V836. Decreased performance. Unnecessary copying is detected when declaring a variable. Consider declaring the variable as a reference.
  • V2018. Cast should not remove 'const' qualifier from the type that is pointed to by a pointer or a reference.
  • V2019. Cast should not remove 'volatile' qualifier from the type that is pointed to by a pointer or a reference.

C#

  • V3183. Code formatting implies that the statement should not be a part of the 'then' branch that belongs to the preceding 'if' statement.
  • V5626. OWASP. Possible ReDoS vulnerability. Potentially tainted data is processed by regular expression that contains an unsafe pattern.
  • V5627. OWASP. Possible NoSQL injection. Potentially tainted data is used to create query.
  • V5628. OWASP. Possible Zip Slip vulnerability. Potentially tainted data is used in the path to extract the file.

Статьи

Для тех, кто пишет на C++:

Для тех, кто пишет на C#:

Разное:

**

Загрузить PVS-Studio 7.22 можно здесь.

Если хотите получать пресс-релизы по почте, подписывайтесь на рассылку.