Для получения триального ключа
заполните форму ниже
Team license
Enterprise license
** Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

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

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

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

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

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

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


Если вы так и не получили ответ, пожалуйста, проверьте папку
Spam/Junk и нажмите на письме кнопку "Не спам".
Так Вы не пропустите ответы от нашей команды.

>
>
PVS-Studio 7.19: что новенького?

PVS-Studio 7.19: что новенького?

24 Июн 2022

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

0958_Release_7_19_ru/image1.png

Улучшения

Поддержка Unreal Engine 5

С помощью PVS-Studio можно анализировать проекты на основе Unreal Engine 5. В целом анализ выполняется так же, как и для Unreal Engine 4. Разница описана в документации.

Баг в Unreal Engine 5: Unable to find PVS-Studio

В Unreal Engine 5 есть баг, из-за которого Unreal Build Tool не находит PVS-Studio по стандартному пути установки. Pull request для исправления этой проблемы уже сделан, фикс войдёт в одну из следующих версий движка.

Временное решение проблемы описано в документации.

Работа с компиляторами QNX

В C++ анализаторе улучшили работу с компиляторами QNX:

  • лучше определяем целевую платформу компиляторов QNX Momentics QCC. Это позволило сократить количество ложных срабатываний при анализе кода под QNX;
  • поддержали последние версии компилятора QNX.

Плагин PVS-Studio для SonarQube

Плагин PVS-Studio для SonarQube теперь поддерживает JSON отчёты. Так как отчёты PVS-Studio в формате JSON доступны на всех платформах, это упрощает кроссплатформенные сценарии работы.

Утилита оповещения разработчиков (blame-notifier)

Утилита blame-notifier используется для оповещения разработчиков и менеджеров об ошибках в коде, которые нашёл PVS-Studio. Это реализовано через рассылку писем с предупреждениями анализатора.

Теперь к таким письмам можно прикреплять файлы (например, полный отчёт анализатора), а также изменять тему письма.

Документацию по утилите blame-notifier можно найти здесь.

Документация

Отчёты анализатора и утилиты конвертации

Результаты анализа PVS-Studio с помощью специальных утилит (PlogConverter.exe, plog-converter) можно конвертировать в различные форматы. В одном документе мы описали:

  • форматы, в которые можно сконвертировать отчёты, и назначение каждого из них;
  • утилиты конвертации отчётов и флаги запуска;
  • примеры команд конвертации.

Найти эту информацию теперь можно здесь.

Unreal Engine

Мы обновили документацию по использованию Unreal Engine и PVS-Studio. В ней описано:

  • как проверять проекты из IDE и из командной строки;
  • как внедрить анализатор в проект, чтобы не видеть предупреждений на legacy-код;
  • как исключать файлы и директории из анализа;
  • особенности использования анализатора с разными версиями движка.

Документация доступна по ссылке.

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

C, C++

  • V834. Incorrect type of a loop variable. This leads to the variable binding to a temporary object instead of a range element.
  • V835. Passing cheap-to-copy argument by reference may lead to decreased performance.
  • V1083. Signed integer overflow in arithmetic expression. This leads to undefined behavior.
  • V1084. The expression is always true/false. The value is out of range of enum values.
  • V1085. Negative value is implicitly converted to unsigned integer type in arithmetic expression.

C#

  • V3175. Locking operations must be performed on the same thread. Using 'await' in a critical section may lead to a lock being released on a different thread.
  • V3176. The '&'= or '|=' operator is redundant because the right operand is always true/false.
  • V5622. OWASP. Possible XPath injection. Potentially tainted data is used in the XPath expression.
  • V5623. OWASP. Possible open redirect vulnerability. Potentially tainted data is used in the URL.

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

Посмотреть

Heisenbug 2021: о безопасности

Прошлой осенью мы были на конференции Heisenbug 2021 Moscow, где разговаривали о безопасности, SAST-решениях, taint-анализе и не только.

Недавно на YouTube выложили записи докладов с конференции. Вот ссылки на те, где мы принимали участие:

Life EXE: чистим исходный код проекта на Unreal Engine 5 с помощью PVS-Studio

Автор канала Life EXE рассказывает про работу с проектами на Unreal Engine. В одном из последних видео он на примере PVS-Studio показал, как статический анализ может быть полезен для проектов на основе Unreal Engine.

Посмотреть видео можно здесь.

Почитать

Улучшения PVS-Studio

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

Проверка кода проектов

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

Поиграть

Мы сделали игру, в которой можно проверить свою внимательность и поискать ошибки в коде. Пока доступна версия с ошибками в коде только на C++. Интересно поиграть во что-то подобное для C#? Пишите в комментариях. :)

Саму игру найти можно здесь.

Попробовать PVS-Studio 7.19

Загрузить последнюю версию анализатора можно здесь. Если у вас нет лицензионного ключа, не забудьте запросить триал.

Популярные статьи по теме
PVS-Studio 7.21: GitLab Code Quality, Unreal Engine

Дата: 19 Окт 2022

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

Вышел новый релиз PVS-Studio – 7.21. В этой заметке описали основные улучшения анализатора и собрали материалы от нашей команды, вышедшие в последнее время: статьи, опросы и записи докладов с конфере…
PVS-Studio 7.20: Unreal Engine, SAST, SCA

Дата: 18 Авг 2022

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

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

Дата: 13 Апр 2022

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

Мы выпустили новый релиз PVS-Studio – 7.18. В этой заметке расскажем, как развиваем security-направление, зачем нужна новая система типов в C++ анализаторе, как улучшили анализ кода для embedded-сист…
Релиз PVS-Studio 7.17: улучшаем работу с Unreal Engine, ASP.NET Core, Texas Instruments

Дата: 14 Фев 2022

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

С радостью представляем вам сводку новостей о первом релизе PVS-Studio в 2022 году. Сегодня поговорим об улучшениях в работе с Unreal Engine и ASP.NET Core проектами, новых диагностиках, а также о то…
PVS-Studio 7.16, взятие рубежей: MISRA C, Visual Studio 2022, .NET 6

Дата: 10 Дек 2021

Автор: Андрей Карпов

Последний релиз в уходящем 2021 году закрывает сразу несколько важных задач, поставленных перед командой PVS-Studio. Добавлена поддержка Visual Studio 2022, платформы .NET 6 и C# 10.0. Для стандарта …

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

Следующие комментарии
Unicorn with delicious cookie
Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо