Abstract

Making sense of programs

  • Program semantics defines programming language
    • e.g., Hoare logic, Dijkstra’s weakest preconditions
  • Specifications record design decisions
    • bridge intent and code
  • Tools amplify human effort
    • manage details
    • find inconsistencies
    • ensure quality