COMS W4117
Compilers and Translators:
Software Verification Tools
Lecture 9: Verifying Safety Properties in Flow Graphs
October 2, 2007

Lecture Outline

  1. Review
  2. Temporal safety and liveness properties
  3. Control-flow graphs as finite automata
  4. Non-safety properties as finite automata
  5. Checking safety properties
  6. Formal definition of a safety property
  7. Reading


1. Review

  1. Dominators
  2. Depth-first ordering
  3. Edges in a depth-first spanning tree
  4. Reducible flow graphs
  5. Natural loops


2. Temporal Safety and Liveness Properties



3. Control Flow Graphs as Finite Automata



4. Safety Properties as Finite Automata



5. Verification Algorithm



6. Formal Definition of a Safety Property



7. Reading



aho@cs.columbia.edu