При ручной проверке кода (MCR) исходный код считывается построчно для проверки возможных уязвимостей. Это требует большого количества навыков, опыта и терпения. Проблемы или ошибки, обнаруженные в этом обзоре, в значительной степени помогут повысить эффективность фирмы.
При автоматизированной проверке кода (ACR) существует набор предопределенных правил, которым должен соответствовать код. Программные средства помогают в ACR, отображающем список предупреждений, нарушающих стандарты программирования.
Итак, как решить, что лучше всего подходит для вас? Вот сравнение, которое, как мы думали, поможет вам принять это решение.
Различия между ручным и автоматическим просмотром кода
1 раз:
MCR — поскольку пользователь читает каждую строку кода, легко понять намерения разработчика. Но даже если в этом и сила, нужно много времени, чтобы посмотреть и прочитать эти коды строчка за строчкой.
ACR — Неудивительно, что это быстро! Программное обеспечение для автоматизации может очень быстро считывать тысячи строк кода. Но им не хватает навыков определения бизнес-логики и намерений разработчика.
2) обследование:
MCR — этот метод очень полезен при пересечении редко посещаемых путей кода. Немногие методы, такие как тестирование на проникновение, исследуют пути, на которые подаются входные данные, но пути с меньшим количеством проходов или скрытые пути могут быть пропущены. Но тщательное ручное рассмотрение кода лучше помогает выявить эти пути, которые неправильно понимаются автоматическими инструментами.
ACR — эти преднамеренно скрытые пути также могут быть легко исследованы с помощью гораздо более сложных инструментов автоматизации, но автоматизированная проверка кода может упустить намерения, стоящие за ними.
3) Тонкие ошибки:
MCR — поскольку обзоры выполняются рецензентами на индивидуальной основе, вполне возможно, что человеческий глаз может пропустить несколько уязвимостей, связанных с интеграцией или другой изолированной проблемой.
ACR — эти ошибки и небольшие ошибки, которые упускаются при ручном просмотре, легко обнаруживаются автоматическими системами. Тем не менее, эта автоматизация не может выйти за пределы определенного предела проверки, которая может быть выполнена путем ручной проверки кода.
4) Затраты:
MCR — Наличие обученных и квалифицированных инженеров для эффективной ручной проверки кода связано с очевидными затратами. Требуется многолетний опыт, прежде чем рецензент сможет адекватно управлять отзывами.
ACR — Рецензентам не обязательно обладать всеми знаниями и навыками рецензирования. Программное обеспечение автоматизации запрограммировано на выдачу предупреждений о возможных ошибках.
Вывод:
Оба эти метода обзора имеют свои плюсы и минусы. Таким образом, мы понимаем сложность выбора, с каким из них идти дальше. В целом тенденция сейчас смещается в сторону автоматического ревью кода из-за времени, затрат и усилий, но все же многие компании предпочитают, чтобы к этому подходил человек.