Program invariants
One way to try to manage the complexity of software systems is to use program invariants
Invariants can aid in the development of correct programs
- The invariants are defined explicitly as part of the construction of the program [Dijkstra][Hoare][Gries][…]