Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
>
PVS-Studio 7.26: запуск анализа из VS C…

PVS-Studio 7.26: запуск анализа из VS Code и Qt Creator, интеграция с DefectDojo и не только

17 Авг 2023

Вышел новый релиз PVS-Studio — 7.26. Запускайте анализ через плагины для VS Code и Qt Creator. Загружайте результаты анализа в DefectDojo. Больше подробностей об этих и прочих улучшениях — в этой заметке.

1063_Release_7_26_ru/image1.png

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

Visual Studio Code и Qt Creator: запуск анализа и подавление предупреждений

В плагинах PVS-Studio для Visual Studio Code и Qt Creator появилась возможность анализа C и C++ проектов. Кроме того, теперь плагины поддерживают функцию массового подавления предупреждений (с помощью suppress-файлов). Это позволит скрыть предупреждения анализатора на legacy-код и работать только с новыми предупреждениями, что упростит внедрение анализатора в проект. Подробнее об этом читайте в статье "Как внедрить статический анализатор кода в legacy проект и не демотивировать команду".

1063_Release_7_26_ru/image2.png

Запускать анализ можно на проектах, использующих следующие сборочные системы:

  • Visual Studio Code: CMake;
  • Qt Creator: CMake, QMake, Qbs.

Более подробная информация собрана в документации:

Интеграция с DefectDojo

Результаты анализа PVS-Studio теперь можно загружать в DefectDojo — DevSecOps-платформу для работы с инструментами обеспечения безопасности. Подробности интеграции описаны в документации.

1063_Release_7_26_ru/image3.png

Поддержка проектов на основе JDK 20

Java анализатор теперь работает с проектами, использующими JDK 20 и Java 20, сохраняя обратную совместимость с предыдущими версиями.

Новые возможности аннотации функций C и C++ кода

Аннотации функций дают PVS-Studio дополнительную информацию, которую он может использовать при анализе.

В C++ анализаторе доработан механизм пользовательского аннотирования функций. Теперь можно писать аннотации для функций на любом уровне вложенности. Кроме того, при аннотировании допускается использование имени функции без указания класса и пространства имён.

Инструкция по написанию аннотаций доступна здесь.

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

С++

  • V838. Temporary object is constructed during lookup in ordered associative container. Consider using a container with heterogeneous lookup to avoid construction of temporary objects.
  • V1100. Unreal Engine. Declaring a pointer to a type derived from 'UObject' in a class that is not derived from 'UObject' is dangerous. The pointer may start pointing to an invalid object after garbage collection.
  • V1101. Changing the default value of a virtual function parameter in a derived class may result in unexpected behavior.

C#

  • V3191. Iteration through collection makes no sense because it is always empty.
  • V4002. Unity Engine. Avoid storing consecutive concatenations inside a single string in performance-sensitive context. Consider using StringBuilder to improve performance.
  • V4003. Unity Engine. Avoid capturing variable in performance-sensitive context. This can lead to decreased performance.

Статьи

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

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

Больше статей вы найдёте в нашем блоге.

Записи докладов

Наша команда активно участвует в конференциях и митапах. Ниже перечислены записи некоторых докладов, выложенных в открытый доступ в последнее время.

**

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

Популярные статьи по теме


Комментарии (0)

Следующие комментарии next comments
close comment form
close form

Заполните форму в два простых шага ниже:

Ваши контактные данные:

Шаг 1
Поздравляем! У вас есть промокод!

Тип желаемой лицензии:

Шаг 2
Team license
Enterprise license
** Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности
close form
Запросите информацию о ценах
Новая лицензия
Продление лицензии
--Выберите валюту--
USD
EUR
RUB
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Бесплатная лицензия PVS‑Studio для специалистов Microsoft MVP
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Для получения лицензии для вашего открытого
проекта заполните, пожалуйста, эту форму
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Мне интересно попробовать плагин на:
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
check circle
Ваше сообщение отправлено.

Мы ответим вам на


Если вы так и не получили ответ, пожалуйста, проверьте, отфильтровано ли письмо в одну из следующих стандартных папок:

  • Промоакции
  • Оповещения
  • Спам