We put a tentative syllabus here to give you an idea what future may bring. This syllabus is subject to change as the course progresses.
| # | Day | Date | Topic | Assignment | Speakers |
|---|---|---|---|---|---|
| 1 | Mon | Jan 28 | Introduction | Form reading group | |
| 2 | Mon | Feb 4 | Program instrumentation | Read Detours, Pin, skim LD_PRELOAD trick | |
| 3 | Mon | Feb 11 | Dynamic analysis | Read Valgrind memory checker, Baggy bounds checking | |
| 4 | Mon | Feb 18 | Static and symbolic analysis | Read Meta Compilation, EXE, skim Coverity, LLVM tutorial and LLVM | |
| 5 | Mon | Feb 25 | Model checking | Read Chess, DPOR | Guest: Xinhao Yuan |
| 6 | Mon | Mar 4 | Debugging, recovery | Read Delta Debugging, Rx | |
| 7 | Mon | Mar 11 | Concurrency | Read Hybrid race detection, Parrot | |
| 8 | Mon | Mar 18 | No class (Spring recess) | ||
| 9 | Mon | Mar 25 | Verification | Read Verdi, IronFleet | Guest: Xinhao Yuan |
| 10 | Mon | Apr 1 | Distributed systems | Read Magpie, Modist | |
| 11 | Mon | Apr 8 | Fuzz testing | Read Vuzzer, NEUZZ | Guest: Dongdong She |
| 12 | Mon | Apr 15 | Mobile | Read AppInsight, AppDoctor | |
| 13 | Mon | Apr 22 | Machine learning | Read Adversarial ML, Unlearning | |
| 14 | Mon | Apr 29 | ROP attacks and defenses | Read JIT ROP, Shuffler | Guest: David Williams-King |
| 15 | Mon | May 6 | Mini-research conference | Present and demo your final project |