PVS-Studio 7.29: проверка Java-кода в VS Code, умные указатели Boost, плагин для Qt Creator на macOS

Вышел новый релиз PVS-Studio — 7.29. Теперь можно запускать анализ Java-проектов через плагин для VS Code, проверять умные указатели Boost, использовать плагин PVS-Studio для Qt Creator 12 на macOS, и это ещё не всё! Больше подробностей в этой заметке.

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

Поддержка Java проектов в плагине для Visual Studio Code

В плагине PVS-Studio для Visual Studio Code появилась возможность анализа Java-проектов. Функционал включает в себя:

запуск анализа и просмотр отчёта;

подавление предупреждений с помощью suppress-файлов;

инкрементальный анализ;

и другие функции, описанные в соответствующем разделе документации.

Поддержка умных указателей Boost

Анализатор C++ получил поддержку умных указателей из библиотеки Boost: boost::unique_ptr и boost::shared_ptr.

Теперь анализатор PVS-Studio определяет ошибки наподобие разыменовывания нулевого указателя при использовании данных классов.

Учёт хэша строки для разметки ложноположительных срабатываний

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

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

Пример строки, в которой указывается отметка ложноположительного срабатывания и хэш для отслеживания изменений:

std::string(4, std::string().at(0)); //-V530 //-VH»920700501″

Поддержка этой функциональности появилась в плагинах PVS-Studio для Microsoft Visual Studio. Подробнее про новый режим можно узнать в документации.

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

Поддержка плагина для Qt Creator 12 на macOS

Появилась поддержка плагина PVS-Studio для Qt Creator 12 на операционных системах семейства macOS.

Подробнее про использование плагина PVS-Studio в Qt Creator можно узнать в документации.

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

C, С++

V839. Decreased performance. Function returns a constant value. This may interfere with the move semantics.

V1104. Priority of the ‘M’ operator is higher than that of the ‘N’ operator. Possible missing parentheses.

V2625. MISRA. Identifier with external linkage should be unique.

C#

V3194. Calling ‘OfType’ for collection will return an empty collection. It is not possible to cast collection elements to the type parameter.

V3195. Collection initializer implicitly calls ‘Add’ method. Using it on member with default value of null will result in null dereference exception.

Java

V6108. Do not use real-type variables in ‘for’ loop counters.

V6109. Potentially predictable seed is used in pseudo-random number generator.

С++ квиз от PVS-Studio и Сергея Кушниренко

В этом релизе команда PVS-Studio вместе с Сергеем Кушниренко подготовила С++ квиз на основе ошибок, описанных в его статьях.

Попробуйте найти ошибки в коде и проверить свою внимательность и знание языка! Квиз доступен по ссылке.

Статьи

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

Предновогоднее шоу: Топ 10 ошибок в C и С++ проектах в 2023 году

Следует ли проверять указатель на NULL перед вызовом функции free?

Qt Creator* ищет ошибки в Qt Creator

От винта! Смотрим движок War Thunder и говорим с его создателями

Квиз со звёздочкой для С++ программистов от Сергея Кушниренко

Разбор С++ квиза от Сергея Кушниренко

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

Топ-10 ошибок, найденных в C#-проектах за 2023 год

Ошибки и подозрительные места в исходниках .NET 8

Для тех, кто пишет на Java

Расширение PVS-Studio для Visual Studio Code: поиск ошибок в Java-коде

Статьи общей тематики

PVS-Studio в 2023

Внедрение SAST в процесс разработки

Хотите проверить свой проект с помощью PVS-Studio? Начните с этой страницы.

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

Если хотите поделиться этой статьей с англоязычной аудиторией, то прошу использовать ссылку на перевод: Gleb Aslamov. PVS-Studio 7.29: Java code check in VS Code, Boost smart pointers, and plugin for Qt Creator on macOS.

Источник: habr.com

0 0 голоса
Рейтинг новости
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии