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 |