[prev] 2 [next]

Program Properties

Recall that we want our programs to be:
  • correct: produce required results for valid inputs
  • reliable: behave sensibly for invalid inputs/errors
  • efficient: give results quickly (even for large inputs)
  • maintainable: code is clear and well-structured
Guaranteeing correctness requires
  • formal statement of requirements (pre/post-conditions)
  • formal proof that program meets requirements
Testing increases confidence that program may be correct ...