Published June 26, 2026 | Version 1.3.0

Research Artefact for "Repair-Driven Greybox Fuzzing"

  • 1. ROR icon Imperial College London

Description

We present repair-driven greybox fuzzing, a new approach to greybox fuzzing that combines the strengths of unstructured, byte-level input mutation and grammar-guided input generation. By increasing input diversity while preserving input validity, repair-driven fuzzing promises to improve bug-finding ability for systems under test such as programming language interpreters that consume highly structured inputs.

Our idea is to first mutate an input using a standard byte-level mutator, typically leading to an invalid input, and then repair the input using a grammar. Aggressively breaking and then repairing an input provides an effective way to reach parts of the input space that would be left unexplored by both byte-level and idiomatic grammar-based mutations.

We put this idea into practice via RepairFuzz, a new greybox fuzzer based on AFL++, leveraging the byte level mutations of AFL++ and using the CPCT+ error recovery algorithm for input repair. We present experiments applying RepairFuzz to six SUTs covering four programming language input formats (Lua, PHP, JavaScript, and Ruby), and present an experimental comparison with AFL++, Grammarinator, and Nautilus, the state-of-the-art in standard greybox fuzzing and grammar-guided fuzzing.

Our evaluation shows that RepairFuzz was able to find 13 confirmed bugs that were previously-unknown, including 9 that could not be found using AFL++, Grammarinator or Nautilus. Further, RepairFuzz yields absolute increases in code coverage for several SUTs and substantial complementary code coverage across all.

Files

README.md

Files (16.2 GB)

Name Size
md5:9f34d0cf7217f203d5a756b0cf7b0479
95 Bytes Preview Download
md5:409f4b8096cbb9ab7b76223314aad4ab
30.9 kB Preview Download
md5:a945bffe81dead8ae45217fbc7e65ecc
16.2 GB Download
md5:66a6530a84a8e725006253b8de3838b4
104 Bytes Preview Download
md5:81bb895bf30430dec08321fbd0d1a046
731 Bytes Preview Download

Additional details

Funding

Engineering and Physical Sciences Research Council
PhD studentship EP/R006865/1
European Research Council
European Union's Horizon 2020 research and innovation program 819141
Google (Ireland)
Google PhD Fellowship