当程序员需要证明代码的正确性时,常用的工具是测试用例:通过运行程序并输入数据来验证。然而,程序验证不仅仅是简单的测试,它提供了一种语言,帮助程序员表达对程序深刻的理解。验证技术在复杂程序开发中发挥关键作用,特别是在编写每行代码时使用验证语言来说明每个循环的不变式。断言在程序维护和调试过程中尤为重要,帮助理解和修正程序中的错误。