| Date |
Topics |
Readings |
Assignments |
| Sept 2 |
Introduction & Propositional logic. |
Bradley/Manna Ch 1 |
|
| Sept 7 |
Labor Day holiday |
|
|
| Sept 9 |
Formal proofs and proof checking with Lean. |
|
|
| Sept 14 |
SAT solving: DPLL and resolution. |
|
PSet 1A due |
| Sept 16 |
SAT solving: CDCL -- web demo. |
Marques-Silva, Lynce, Malik: SAT handbook, Chapter 4 |
|
| Sept 21 |
Finite transition systems and Binary Decision Diagrams. |
|
PSet 1B due |
| Sept 23 |
Binary decision diagrams. |
Bryant: Graph-Based Algorithms for Boolean Function Manipulation |
|
| Sept 28 |
First-order logic. |
Bradley/Manna Ch 2 |
PSet 2 due |
| Sept 30 |
First-order theories. |
Bradley/Manna Ch 3 |
|
| Oct 5 |
SMT solving. |
De Moura, Bjørner: Satisfiability Modulo Theories: Introduction and Applications |
PSet 3 due |
| Oct 7 |
SMT solving. |
Barrett, Sebastiani, Seisha, Tinelli: SAT handbook, Chapter 26 |
|
| Oct 12 |
Midterm review. |
|
PSet 4 due |
| Oct 14 |
Midterm exam. |
|
|
| Oct 19,21 |
Fall break |
| |
| Oct 26 |
Programs, operational semantics, and partial correctness. |
Bradley/Manna Ch 4-6 Hoare: An axiomatic basis for computer programming
|
|
| Oct 28 |
Termination and total correctness. |
|
|
| Nov 2 |
Semi-automated verification. |
Bradley/Manna Ch 12 |
Project outline due |
| Nov 4 |
Invariant inference I: control flow, Floyd's logic, and Houdini |
|
|
| Nov 9 |
Invariant inference II: data flow analysis |
|
PSet 5 due |
| Nov 11 |
Abstract interpretation. |
|
|
| Nov 16 |
Algebraic program analysis. |
Kincaid, Reps, Cyphert: Algebraic program analysis |
PSet 6 due |
| Nov 18 |
Software model checking I. |
Jhala, Majumdar: Software Model Checking |
|
| Nov 23 |
Software model checking II. |
|
|
| Nov 25 |
Thanksgiving break |
|
|
| Nov 30 |
Temporal logic. |
|
|
| Dec 2 |
Project presentations |
| |
| Dec 7 |
Project presentations |
| |
| Dec 15 |
Dean's date |
|
Project report due |