Evaluating Synthetic Bugs
Joshua Bundt, Andrew Fasano, Brendan Dolan-Gavitt, William Robertson,, Tim Leek

TL;DR
This study evaluates the effectiveness of synthetic bug injection in fuzz testing, comparing it to organic bugs across multiple fuzzers and targets, revealing key differences and areas for improvement in bug injection techniques.
Contribution
It provides a large-scale, standardized comparison of fuzzers on synthetic versus organic bugs, highlighting performance differences and suggesting improvements for bug injection methods.
Findings
Synthetic bugs are easier to find than organic bugs.
Integrating symbolic execution improves fuzzing performance.
No fuzzer outperformed others on all tests.
Abstract
Fuzz testing has been used to find bugs in programs since the 1990s, but despite decades of dedicated research, there is still no consensus on which fuzzing techniques work best. One reason for this is the paucity of ground truth: bugs in real programs with known root causes and triggering inputs are difficult to collect at a meaningful scale. Bug injection technologies that add synthetic bugs into real programs seem to offer a solution, but the differences in finding these synthetic bugs versus organic bugs have not previously been explored at a large scale. Using over 80 years of CPU time, we ran eight fuzzers across 20 targets from the Rode0day bug-finding competition and the LAVA-M corpus. Experiments were standardized with respect to compute resources and metrics gathered. These experiments show differences in fuzzer performance as well as the impact of various configuration…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
