COMS W4117
Compilers and Translators:
Software Verification Tools
Lecture 2: Introduction to Software Verification
September 6, 2007

Lecture Outline

  1. Review
  2. Software reliability
  3. Liveness vs. safety properties
  4. False positives vs. false negatives
  5. Examples of software bugs
  6. Approaches to software verification
  7. Representative static verification tools
  8. Reading assignment

1. Review

  1. Introductions
  2. Course overview
  3. Textbooks and references
  4. Course requirements and grading
  5. What is reliable software?
  6. How can we make reliable software
  7. Reading

2. Software Reliability




3. Liveness vs. Safety Properties



4. False Positives vs. False Negatives



5. Examples of Software Bugs




6. Approaches to Software Verification



7. Representative Static Verification Tools



8. Reading Assignment




aho@cs.columbia.edu