Assertions -- side-effect free
contracts
- require -- test on delivery
- promise -- test during development
Object invariance -- exceptions
- invariant -- verify when needed
Global properties -- requirements
- interaction protocols -- formal specification
slide: Runtime consistency checking