PVS‑Studio обнаруживает различные ошибки – опечатки, мёртвый код и потенциальные уязвимости (статическое тестирование безопасности приложений, SAST).
Основные возможности
- Предварительная обработка исходных файлов C и C ++ (на основе параметров компиляции) позволяет расширить директивы препроцессора, т.е. включить заголовочные файлы и заменить макросы;
- Анализ на основе шаблонов, основанный на абстрактном синтаксическом дереве, выполняет поиск фрагментов в исходном коде, похожих на известные шаблоны кода с ошибкой;
- Анализ испорченных данных обнаруживает случаи, когда приложение использует непроверенные пользовательские данные;
- Аннотации к методам предоставляют больше информации об используемых методах, чем можно получить, анализируя только их подписи.
Дополнительные возможности
- Межмодульный анализ позволяет диагностике учитывать функции, объявленные в других единицах перевода;
- Анализ состава программного обеспечения (SCA) ищет зависимости приложения от компонентов, содержащих уязвимости;
- Символьное выполнение оценивает значения переменных, которые могут привести к ошибкам, выполняет проверку диапазона значений.