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, 6 Oct, 14:00–16:00 Introduction and Basic Concepts
Wed, 8 Oct, 10:00–12:00 Fuzzing
Thu, 9 Oct, 11:00 Coursework: Fuzzing project released
Fri, 10 Oct, 14:00 Coursework: Teams due
Mon, 13 Oct, 14:00–16:00 Coursework: Fuzzing project presentation
Demo: AFL
Compiler Fuzzing and Derived Test Oracles
Wed, 15 Oct, 10:00–12:00 Compiler Fuzzing and Derived Test Oracles
Tutorial: Fuzzing
Mon, 20 Oct, 14:00–16:00 Undefined Behaviour
Unstable Code
Wed, 22 Oct, 10:00–12:00 Tutorial: Undefined Behaviour and Unstable Code
Dynamic Symbolic Execution: Introduction
Fri, 24 Oct, 19:00 Coursework: Fuzzing project due
Mon, 27 Oct, 14:00–16:00 Dynamic Symbolic Execution: Introduction
Dynamic Symbolic Execution: Path Explosion
Dynamic Symbolic Execution: Constraint Solving
Tue, 28 Oct, 11:00 Coursework: Symex project released
Wed, 29 Oct, 10:00–12:00 Coursework: Symex project presentation
Dynamic Symbolic Execution: Constraint Solving
Dynamic Symbolic Execution: Applications
Mon, 3 Nov, 14:00–16:00 Tutorial: Dynamic Symbolic Execution
Memory-based Exploits and Compiler Sanitizers
Wed, 5 Nov, 19:00 Coursework: Symex project due
Wed, 5 Nov, 10:00–12:00 Memory-based Exploits and Compiler Sanitizers
Tutorial: Memory-based Exploits and Compiler Sanitizers
Thu, 6 Nov, 11:00 Coursework: Student presentation specification released
Fri, 7 Nov, 11:00 Coursework: Student presentation choices due
Fri, 7 Nov, 19:00 Coursework: Student presentation assignment released
Mon, 10 Nov, 14:00–16:00 Coverage Criteria and Mutation Testing
Tutorial: Coverage Criteria and Mutation Testing
Wed, 12 Nov, 10:00–12:00 LLM-based Testing
Tutorial: LLM-based Testing
Fri, 14 Nov, 19:00 Coursework: Student presentation slides due
Mon, 17 Nov, 14:00–16:00 Coursework: Student Presentations
Wed, 19 Nov, 10:00–12:00 Coursework: Student Presentations
Wed, 26 Nov, 10:00–11:00 Revision