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

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

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

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

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

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

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


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

>
>
Стоит ли исправлять все ошибки, найденн…

Стоит ли исправлять все ошибки, найденные статическим анализатором кода?

05 Апр 2013

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

Если проект находится на этапе создания, то исправление ошибок может быть очень полезным – отделы обеспечения качества еще не потратили время на их нахождение. А сэкономленное время – это сэкономленные деньги.

Когда проект находится в предрелизном состоянии, то к исправлению ошибок нужно относится с большей осторожностью – обязательно исправлять стоит только ошибки высокой степени критичности (по категоризации вашей организации), либо ошибки, которые можно связать с реальными проблемами, выявленными на этапе тестирования и еще не исправленными.

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

Вторым аспектом проблемы является то, что любой статический анализатор кода всегда выдает, помимо полезных сообщений, еще множество так называемых "ложно-позитивных срабатываний".

Различные статические анализаторы по-разному подходят к данной проблеме. Часть анализаторов игнорирует те подозрительные места в коде, где вероятность наличия ошибки далека от 100%. Но в большинстве статических анализаторов используют противоположный подход, то есть анализатор генерирует гораздо большее количество "ложных" срабатываний, однако и риск потери реальных проблемных сообщений об ошибках значительно меньше.

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

Библиографический список

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

Дата: 30 Янв 2019

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

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

Дата: 17 Янв 2019

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

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

Дата: 14 Апр 2016

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

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

Дата: 21 Ноя 2018

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

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

Дата: 20 Мар 2017

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

В своей предыдущей статье я писал, что мне не нравится подход, при котором статические анализаторы кода оцениваются с помощью синтетических тестов. В статье приводился пример, воспринимаемый анализат…
Эффект последней строки

Дата: 31 Май 2014

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

Я изучил множество ошибок, возникающих в результате копирования кода. И утверждаю, что чаще всего ошибки допускают в последнем фрагменте однотипного кода. Ранее я не встречал в книгах описания этого …
Зло живёт в функциях сравнения

Дата: 19 Май 2017

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

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

Дата: 27 Июн 2017

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

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

Дата: 22 Окт 2018

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

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

Дата: 31 Июл 2017

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

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

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

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