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

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

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

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

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

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

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


Если вы так и не получили ответ, пожалуйста, проверьте папку
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 для поиска ошибок и потенциальных уязвимостей

Дата: 21 Ноя 2018

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

Краткое описание технологий, используемых в инструменте PVS-Studio, которые позволяют эффективно обнаруживать большое количество паттернов ошибок и потенциальных уязвимостей. Статья описывает реализа…
Зло живёт в функциях сравнения

Дата: 19 Май 2017

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

Возможно, читатели помнят мою статью под названием "Эффект последней строки". В ней идёт речь о замеченной мной закономерности: ошибка чаще всего допускается в последней строке однотипных блоков текс…
Статический анализ как часть процесса разработки Unreal Engine

Дата: 27 Июн 2017

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

Проект Unreal Engine развивается - добавляется новый код и изменятся уже написанный. Неизбежное следствие развития проекта - появление в коде новых ошибок, которые желательно выявлять как можно раньш…
PVS-Studio для Java

Дата: 17 Янв 2019

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

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

Дата: 16 Окт 2017

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

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

Дата: 14 Апр 2016

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

Вы угадали, ответ - "42". Здесь приводится 42 рекомендации по программированию, которые помогут избежать множества ошибок, сэкономить время и нервы. Автором рекомендаций выступает Андрей Карпов - тех…
Как и почему статические анализаторы борются с ложными срабатываниями

Дата: 20 Мар 2017

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

В своей предыдущей статье я писал, что мне не нравится подход, при котором статические анализаторы кода оцениваются с помощью синтетических тестов. В статье приводился пример, воспринимаемый анализат…
Характеристики анализатора PVS-Studio на примере EFL Core Libraries, 10-15% ложных срабатываний

Дата: 31 Июл 2017

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

После большой статьи про проверку операционной системы Tizen мне было задано много вопросов о проценте ложных срабатываний и о плотности ошибок (сколько ошибок PVS-Studio выявляет на 1000 строк кода)…
Бесплатный PVS-Studio для тех, кто развивает открытые проекты

Дата: 22 Дек 2018

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

В канун празднования нового 2019 года команда PVS-Studio решила сделать приятный подарок всем контрибьюторам open-source проектов, хостящихся на GitHub, GitLab или Bitbucket. Им предоставляется возмо…
Как PVS-Studio оказался внимательнее, чем три с половиной программиста

Дата: 22 Окт 2018

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

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

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

Следующие комментарии
Этот сайт использует куки и другие технологии, чтобы предоставить вам более персонализированный опыт. Продолжая просмотр страниц нашего веб-сайта, вы принимаете условия использования этих файлов. Если вы не хотите, чтобы ваши данные обрабатывались, пожалуйста, покиньте данный сайт. Подробнее →
Принять