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

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

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

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

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

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

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


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

>
>
Полезные новшества в очередном релизе P…

Полезные новшества в очередном релизе PVS-Studio 6.17

30 Авг 2017

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

0526_PVS-Studio_6_17_ru/image1.png

Мы продолжаем развивать наш анализатор в направлении Linux. Другими словами, Linux версия догоняет по возможностям Windows версию анализатора. Очередным шагом стала реализация плагина для системы непрерывного контроля качества SonarQube и добавление режима массового подавления предупреждений для Linux. Более подробную информацию вы можете получить, обратившись к разделам документации "Интеграция результатов анализа PVS-Studio в SonarQube" и "Как запустить PVS-Studio в Linux".

В command line модуле PVS-Studio_Cmd.exe был добавлен новый режим инкрементального анализа - "AppendScan". Использование этого режима позволит "накапливать" информацию о том, какие файлы необходимо проанализировать. Таким образом, вам становится доступно ещё большее количество вариантов проведения анализа, что позволит лучше настроить анализатор под нужды проекта. Более подробно про это написано в статье "Режим инкрементального анализа PVS-Studio".

Добавлено несколько новых диагностик, но ничего примечательного:

  • C++. V821. The variable can be constructed in a lower level scope.
  • C++. V1001. The variable is assigned but is not used until the end of the function.
  • C#. V3135. The initial value of the index in the nested loop equals 'i'. Consider using 'i + 1' instead.
  • C#. V3136. Constant expression in switch statement.
  • C#. V3137. The variable is assigned but is not used until the end of the function.

Намного интересней, что существенной переработке подвергся механизм виртуальных значений в ядре C++ анализатора. Например, теперь анализатор осуществляет двойной проход по циклам, что позволяет ему более точно определять диапазон возможных значений переменных, изменяемых в цикле. Поэтому не удивляйтесь, если анализатор начнёт выдавать много предупреждений для кода, на котором он раньше молчал. Рекомендуем обязательно обновить версию анализатора, так как вы сможете найти новые ошибки.

Ещё одно интересное новшество - возможность заставить С++ анализатор считать, что функция malloc не может вернуть NULL. Некоторые программисты не хотят рассматривать ситуацию, когда malloc вернёт нулевой указатель. Поэтому указатели используется без предварительной проверки и, как следствие, анализатор PVS-Studio выдаёт много предупреждений. Разработчики рассматривают это как ложные срабатывания и попросили возможность изменять поведение анализатора. Пример такого подхода описан в статье "Характеристики анализатора PVS-Studio на примере EFL Core Libraries". Для настройки поведения анализатора используются специальные комментарии, которые описаны в разделе "Дополнительная настройка диагностик".

Также в состав дистрибутива был добавлен плагин, позволяющий отображать результаты анализа в системе непрерывной интеграции Jenkins (пока доступен на Windows). Это позволит более наглядно следить за количеством потенциально опасных мест в проекте. Более подробно использование плагина для Jenkins описано в статье "Встраивание PVS-Studio в процесс непрерывной интеграции" в разделе "Плагин PVS-Studio для Jenkins".

Другие усовершенствования:

  • Добавлена возможность сохранять отчёт работы анализатора из Visual Studio плагина и Standalone в форматах txt\csv\html, без необходимости вручную вызывать PlogConverter.
  • Лицензия и файл настроек теперь сохраняются в кодировке UTF-8. Для совместимости анализатор поддерживает файлы в формате UTF-16, который мы использовали ранее.
  • Добавлен список недавно открытых логов в меню Visual Studio плагина.
  • Поддержка обновления Visual Studio 2017 15.3.

Скачивайте и пробуйте новую версию анализатора! Также, пользуясь случаем, хочу напомнить, что мы написали цикл статей, посвященных проверке кода операционной системы Tizen и, надеюсь, что они получились интересными. Если вы пропустили информацию об их публикации, предлагаю перейти по ссылкам и познакомиться с этими статьями:

Популярные статьи по теме
Обзор плагина PVS-Studio для Visual Studio Code

Дата: 02 Фев 2023

Автор: Андрей Москалёв

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

Дата: 31 Янв 2023

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

В этой статье расскажу о том, что появилось в PVS-Studio за последние три года, и чем это полезно пользователям анализатора. Статья модульная: можно не читать от начала до конца, а посмотреть только …
C++ — язык 2022 года. Почему так, и что с другими языками?

Дата: 20 Янв 2023

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

C++ становится языком 2022 года по версии TIOBE, обгоняя Python. Rust, C#, Go и прочие — далеко позади. Странно? Сейчас разберёмся.
PVS-Studio в 2022 году

Дата: 19 Янв 2023

Автор: Полина Алексеева

На дворе январь 2023, а значит, самое время подвести итоги уже прошлого 2022 года. Мы расскажем, чем занимались, и покажем, что нового появилось в анализаторе за это время. Давайте вместе взглянем на…
PVS-Studio: 2 фишки для быстрого старта

Дата: 08 Дек 2022

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

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

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

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