| # | Date | Topic | Papers | Speakers |
|---|---|---|---|---|
| 1 | 9/14 | Introduction | First assignment: form reading groups | |
| 2 | 9/21 | Replay debugging I | Distributed system replay debugging (Liblog), Deterministic multi-processing in software (Kendo) | |
| 3 | 9/28 | Replay debugging II | Output-deterministic replay(ODR), Probabilistic replay (PRES) | |
| 4 | 10/5 | Misc. | Improving application security with Data flow assertions (Resin), Formal verification of an OS kernel (seL4) | |
| 5 | 10/12 | Metamorphic Testing | Heuristic Metamorphic Testing (Amsterdam), Unit Metamorphic Testing (Corduroy) | Guest lecture by Chris Murphy |
| 6 | 10/19 | More debugging | Delta debugging, Statistical debugging | |
| 7 | 10/26 | Error recovery I | Failure-oblivious computing, Software healing using rescue points (Assure) | |
| 8 | 11/2 | No class (University Holiday) | ||
| 9 | 11/9 | Error recovery II | Treading bugs as allergies (Rx), Patching deployed software (ClearView) | Scott Schuff (ClearView), Eita Shuto (Rx) |
| 10 | 11/16 | Concurrency error I | Concurrency error study, Lockset-based race detection (Eraser) | Jong Yul Kim (error study), Harshit Sahay (Eraser) |
| 11 | 11/23 | Concurrency error II | Race fuzzer, Hybrid race detection | Nektarios Tsoutsos (Race fuzzer), Benjamin Warfield (Hybrid race detection) |
| 12 | 11/30 | Runtime monitoring | Binary instrumentation framework (Valgrind), Program shepherding | Ravindra Babu Ganapathi (Valgrind), Sasha Gusev (Program sheperding) |
| 13 | 12/7 | Static analysis | Meta compilation, Bugs as deviant behavior | Malek Ben Salem (Meta compilation), Kalyanpur Satish Baliga (deviant behavior) |
| 14 | 12/14 | Model checking | Storage system model checking (eXplode), Automatically generating malicious disks | Injung Kim (eXplode), Alex Glass (Automatically generating malicious disks) |