| Date |
Topics |
Readings |
Assignments |
| Sept 1 |
Introduction & Propositional logic. |
Bradley/Manna Ch 1 |
|
| Sept 6 |
Labor day |
|
|
| Sept 8 |
SAT solving: DPLL and resolution. |
|
|
| Sept 13 |
SAT solving: CDCL. |
Marques-Silva, Lynce, Malik: SAT handbook, Chapter 4 |
PS1 due |
| Sept 15 |
Finite transition systems and BDDs. |
Bryant: Graph-Based Algorithms for Boolean Function Manipulation |
|
| Sept 20 |
First-order logic. |
Bradley/Manna Ch 2 |
PS2 due |
| Sept 22 |
First-order theories. |
Bradley/Manna Ch 3 |
|
| Sept 27 |
SMT solving. |
De Moura, Bjørner: Satisfiability Modulo Theories: Introduction and Applications |
PS3 due |
| Sept 29 |
SMT solving. |
Barrett, Sebastiani, Seisha, Tinelli: SAT handbook, Chapter 26 |
|
| Oct 4 |
Programs and operational semantics. |
Bradley/Manna Ch 4-6 |
PS4 due |
| Oct 6 |
Hoare logic. |
Hoare: An axiomatic basis for computer programming |
|
| Oct 11 |
Midterm review. |
|
PS5 due |
| Oct 13 |
Midterm exam. |
|
|
| Oct 18,20 |
Fall break |
| |
| Oct 25 |
Semi-automated verification. |
Bradley/Manna Ch 12 |
|
| Oct 27 |
Invariant inference I: control flow, Floyd's logic, and Houdini |
|
|
| Nov 1 |
Invariant inference II: data flow analysis |
|
Project outline due |
| Nov 3 |
Abstract interpretation. |
|
|
| Nov 8 |
Algebraic program analysis. |
Kincaid, Reps, Cyphert: Algebraic program analysis |
PS6 due |
| Nov 10 |
Software model checking I. |
Jhala, Majumdar: Software Model Checking |
|
| Nov 15 |
Software model checking II. |
|
PS7 due |
| Nov 17 |
Quantifiers and synthesis. |
|
|
| Nov 22 |
Temporal logic. |
|
|
| Nov 24 |
Thanksgiving break |
| |
| Nov 29 |
Project presentations |
| |
| Dec 1 |
Project presentations |
| |
| Dec 6 |
Project presentations |
| |
| Dec 14 |
Dean's date |
|
Project report due |