Разница между формальной и неформальной верификацией заключается в используемых методах проверки корректности системы. 12
Формальная верификация предполагает создание математических моделей программ и требований и логический анализ соответствия между ними. 23 Для этого используются, например, проверка моделей ПО, автоматизированные доказательства корректности программ, абстрактная интерпретация кода, системы типов данных. 1
Неформальные методы верификации скорее качественные, чем количественные. 4 Они полагаются на мнения экспертов для вынесения заключения. 4 К таким методам относятся инспекции и обзоры кода, а также инструменты для автоматического поиска ошибок в коде. 1
Таким образом, формальные методы применяются для строгого доказательства корректности программ и обнаружения «редких» ошибок, в то время как неформальные методы направлены на устранение часто допускаемых ошибок и повышение лёгкости сопровождения программного обеспечения. 1