Assertions

-- side-effect free

contracts

  • require -- test on delivery
  • promise -- test during development

Object invariance

-- exceptions
  • invariant -- verify when needed

Global properties

-- requirements
  • interaction \c{protocols} -- formal specification

slide: Runtime consistency checking