Assertions
-- side-effect freecontracts
- require -- test on delivery
- promise -- test during development
Object invariance
-- exceptions- invariant -- verify when needed
Global properties
-- requirements- interaction \c{protocols} -- formal specification