Formal Verification
Definition
The goal of formal verification (or program correctness) is to discover subtle bugs in a program and then prove that a program has the correct behaviour once all bugs have been fixed
Program testing can be a very effective way to show the presence of bugs, but it is hopelessly inadequate for showing their absence.
- Edsger W. Dijkstra
Formal verification tests the program for all possible inputs.