| # | Date | Topic | Papers | Speakers |
|---|---|---|---|---|
| 1 | 9/9 | Introduction | Assignment: form reading group | |
| 2 | 9/16 | Static analysis framework | LLVM tutorial, LLVM, bddbddb tutorial, bddbddb | |
| 3 | 9/23 | Dynamic instrumentation framework | LD_PRELOAD trick, Detours, Pin | |
| 4 | 9/30 | Misc. | Tern, Loom | Heming Cui (Tern), Jingyue Wu (Loom) |
| 5 | 10/7 | Generic program analysis I | Valgrind memory checker, Taint tracking | |
| 6 | 10/14 | Generic program analysis II | EXE, Bouncer | |
| 7 | 10/21 | Alias analysis | Alias analysis, Context-sensitive alias analysis | |
| 8 | 10/28 | Replay debugging | Liblog, SMP-ReVirt | |
| 9 | 11/4 | Error recovery and prevention | Respec, Kivati | |
| 10 | 11/11 | Concurrency error I | Concurrency error study, Eraser | |
| 11 | 11/18 | System-level Determinism | dOS, Determinator | Bryan Ford |
| 12 | 11/25 | No class (Thanksgiving) | ||
| 13 | 12/2 | Concurrency error II | RaceFuzzer, Hybrid race detection | |
| 14 | 12/9 | Verification of Determinism | Static, Dynamic | Martin Vechev |