Чем отличается статический анализ от рецензии (ревизии) кода


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

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

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

Хотя понятия рецензирования и статического анализа обычно разделяют, иногда они могут пересекаться и даже рассматриваться как взаимно-производные методы, дополняющие работу друг друга. Например, совместная ревизия несколькими разработчиками отдельных фрагментов программы, на которые указали результаты ранее проведённого статического анализа всего исходного кода проекта.

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



Найдите ошибки в своем C, C++, C# и Java коде

Предлагаем попробовать проверить код вашего проекта с помощью анализатора кода PVS-Studio. Одна найденная в нём ошибка скажет вам о пользе методологии статического анализа кода больше, чем десяток статей.

goto PVS-Studio;



Найденные ошибки

Проверено проектов
344
Собрано ошибок
12 899

А ты совершаешь ошибки в коде?

Проверь с помощью
PVS-Studio

Статический анализ
кода для C, C++, C#
и Java

goto PVS-Studio;