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][…]