Advanced Software Testing and Fuzzing
Edition: 2026/2027 (1st ed.)
Last-Modified: 2025-06-30
Teachers
- Sébastien Bardin, contact: email
- Michaël Marcozzi, contact: email
Syllabus
- Principles of testing: why, what and when to test? Including: Regression testing, Test suite creation, Coverage criteria (and mutation), Oracle types, Flakiness.
- Towards automation: property-based testing
- Complete automation: fuzzing (black-box fuzzing of compilers, grey-box fuzzing for security vulnerabilities)
- Advanced fuzzing: Complex oracles (backdoor detection), Symbolic execution and complex properties (non-interference, leakages, etc.)
- Some notes about: automated program repair and automatic exploit generation