В этой заметке расскажу, как легко начать использовать PVS-Studio. Рассмотрим два сценария: когда вы пробуете анализатор впервые и когда внедряете его в проект.
Что я жду, когда запускаю анализ проекта? В первую очередь — найдёт ли анализатор что-то интересное. И здесь есть 2 крайности:
Рассмотрим оба случая.
#1. Все нужные группы диагностик включены, анализ прошёл успешно, а PVS-Studio всё равно ничего не нашёл? Это хороший сценарий, но стоит помнить — часто разовой проверки недостаточно.
Попробуйте регулярно запускать анализ проекта на протяжении какого-то времени. Так анализатор сможет найти те проблемы, которые ещё не успела обнаружить и исправить команда. Это и покажет пользу инструмента.
Подробнее мысль раскрыта в небольшой заметке, рекомендую прочитать.
#2. Допустим, анализатор выдал несколько десятков, а то и сотен предупреждений. Вот бы посмотреть самые интересные... Решение — фильтр "Best warnings". Расскажу о нём в двух словах.
Среди всех предупреждений фильтр "Best warnings" отбирает самые интересные: они должны быть разнообразными и указывать на тот код, который скорее всего содержит ошибку.
Фильтр работает в один клик, а предупреждений в подборке будет не больше 10 — посмотреть их можно быстро.
Фильтр "Best warnings" доступен в приложении "C and C++ Compiler Monitoring UI", а также в плагинах PVS-Studio для:
Больше информации о "Best Warnings" собрали в документации.
**
Хочу сразу ответить на несколько возможных вопросов:
Ответы под спойлерами.
Алгоритм неидеален. Пожалуйста, напишите нам, если подборка предупреждений не понравилась или в неё попали false positives. Мы подумаем, как можно улучшить выборку.
Если подборка не понравилась, посмотрите предупреждения с уровнем "High" и "Medium" из полного отчёта анализатора: возможно, там вы найдёте что-то интересное.
Я решил внедрить PVS-Studio в процесс разработки. Проект старый, с большим объёмом legacy. Запустил анализатор и получил несколько сотен предупреждений. Как быть? Как найти и исправить новое предупреждение, когда их количество изменится с 673 на 674? Ответ — скрыть предупреждения на legacy-код.
Алгоритм:
Скрыть предупреждения на legacy-код можно с помощью механизма подавления.
Как упростить знакомство с PVS-Studio:
Ещё рекомендую полистать эту статью. В ней разобраны многие вопросы, касающиеся начала использования анализатора.
Загрузить последнюю версию PVS-Studio можно здесь.