Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
>
Полезные новшества в очередном релизе 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 и, надеюсь, что они получились интересными. Если вы пропустили информацию об их публикации, предлагаю перейти по ссылкам и познакомиться с этими статьями:

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


Комментарии (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
Ваше сообщение отправлено.

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


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

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