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 | Tue | Jan 17 | Introduction | Form reading group | |
| 2 | Tue | Jan 24 | Program instrumentation | Read Detours, Pin, skim LD_PRELOAD trick | |
| 3 | Tue | Jan 31 | Dynamic analysis | Read Valgrind memory checker, Baggy bounds checking | |
| 4 | Tue | Feb 7 | Model checking | Read Chess, DPOR | Xinhao Yuan |
| 5 | Tue | Feb 14 | Static and symbolic analysis | Read Meta Compilation, EXE, skim Coverity, LLVM tutorial and LLVM | |
| 6 | Tue | Feb 21 | Verification | Read Verdi, IronFleet | Xinhao Yuan |
| 7 | Tue | Feb 28 | Debugging, recovery | Read Delta Debugging, Rx | |
| 8 | Tue | Mar 7 | Concurrency | Read Hybrid race detection, Parrot | |
| 9 | Tue | Mar 14 | No class (Spring recess) | ||
| 10 | Tue | Mar 21 | Distributed systems | Read Magpie, Modist | |
| 11 | Tue | Mar 28 | Fuzz testing | Read NEZHA, angr | Theofilos Petsios |
| 12 | Tue | Apr 4 | Mobile | Read AppInsight, AppDoctor | |
| 13 | Tue | Apr 11 | Machine learning | Read Adversarial ML, Unlearning | |
| 14 | Tue | Apr 18 | ROP attacks and defenses | Read JIT ROP, Shuffler | David Williams-King |
| 15 | Tue | Apr 25 | Mini-research conference | Present and demo your final project |