Schedule
Note: The timetable is provisional. We will likely deviate from it a bit during the course depending how long the material takes to deliver in practice, how much discussion there is during the lectures (in previous years there has been a lot, which was great!), how many groups we will have for the student presentations, etc.
| Mon, 13 Jan, 11:00 | Introduction and basic concepts |
|---|---|
| Mon, 13 Jan, 12:00 | Fuzzing |
| Fri, 17 Jan, 09:30 | Fuzzing |
| Mon, 20 Jan, 11:00 | Fuzzing coursework presentation & AFL demo |
| Mon, 20 Jan, 12:00 | Fuzzing project released and teams due |
| Mon, 20 Jan, 12:00 | Tutorial & Compiler fuzzing and derived test oracles |
| Fri, 24 Jan, 9:30 | Compiler fuzzing and derived test oracles & Safe C compilers |
| Mon, 27 Jan, 11:00 | Compiler sanitizers |
| Mon, 27 Jan, 12:00 | Tutorial |
| Fri, 31 Jan, 9:30 | Undefined behaviour |
| Mon, 3 Feb, 11:00 | Unstable code |
| Mon, 3 Feb, 12:00 | Tutorial |
| Wed, 5 Feb, 23:59 | Fuzzing project due |
| Fri, 7 Feb, 9:00 | Symex project released |
| Fri, 7 Feb, 9:30 | Unstable code & Dynamic symbolic execution |
| Mon, 10 Feb, 11:00 | Dynamic symbolic execution & Symex coursework presentation + Q&A |
| Mon, 10 Feb, 12:00 | Dynamic symbolic execution |
| Fri, 14 Feb, 9:30 | Dynamic symbolic execution |
| Mon, 17 Feb, 11:00 | Tutorial |
| Mon, 17 Feb, 12:00 | Student presentation spec released |
| Mon, 17 Feb, 12:00 | Data-flow analysis |
| Mon, 17 Feb, 23:59 | Symex project due |
| Fri, 21 Feb, 9:30 | Guest lecture (examinable): Automated software engineering: the case of advanced code coverage criteria by Dr Sebastien Bardin |
| Mon, 24 Feb, 11:00 | Program analysis for security |
| Mon, 24 Feb, 12:00 | Tutorial |
| Wed, 26 Feb, 23:59 | Student presentation slides due |
| Fri, 28 Feb, 9:30 | Student presentations (part 1) |
| Mon, 2 Mar, 11:00 | Student presentations (part 2) |
| Mon, 2 Mar, 12:00 | Student presentations (part 3) |
| Fri, 6 Mar, 9:30 | Tutorial / Revision |
