Статья 440

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