FuzzingDriver: the Missing Dictionary to Increase Code Coverage in Fuzzers
Arash Ale Ebrahim, Mohammadreza Hazhirpasand, Oscar Nierstrasz,, Mohammad Ghafari

TL;DR
FuzzingDriver is a tool that generates effective dictionary tokens from a program's codebase, significantly improving code coverage in coverage-based greybox fuzzers without adding runtime overhead.
Contribution
It introduces FuzzingDriver, a novel pre-fuzzing tool that creates dictionaries from codebases, outperforming existing dictionaries and enhancing fuzzing effectiveness.
Findings
FuzzingDriver achieves higher code coverage than Google dictionaries.
Utilizing FuzzingDriver's dictionaries outperforms six popular CGF fuzzers.
FuzzingDriver improves bug discovery potential in fuzzing benchmarks.
Abstract
We propose a tool, called FuzzingDriver, to generate dictionary tokens for coverage-based greybox fuzzers (CGF) from the codebase of any target program. FuzzingDriver does not add any overhead to the fuzzing job as it is run beforehand. We compared FuzzingDriver to Google dictionaries by fuzzing six open-source targets, and we found that FuzzingDriver consistently achieves higher code coverage in all tests. We also executed eight benchmarks on FuzzBench to demonstrate how utilizing FuzzingDriver's dictionaries can outperform six widely-used CGF fuzzers. In future work, investigating the impact of FuzzingDriver's dictionaries on improving bug coverage might prove important. Video demonstration: https://www.youtube.com/watch?v=Y8j_KvfRrI8
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Malware Detection Techniques · Software Testing and Debugging Techniques · Software Engineering Research
