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 |