BEDIVFUZZ: Integrating Behavioral Diversity into Generator-based Fuzzing
Hoang Lam Nguyen, Lars Grunske
Abstract
A popular metric to evaluate the performance of fuzzers is branch coverage. However, we argue that focusing solely on covering many different branches (i.e., the richness) is not sufficient since the majority of the covered branches may have been exercised only once, which does not inspire a high confidence in the reliability of the covered code. Instead, the distribution of the executed branches (i.e., the evenness) should also be considered. That is, behavioral diversity is only given if the generated inputs not only trigger many different branches, but also trigger them evenly often with diverse inputs. We introduce BeDivFuzz, a feedback-driven fuzzing technique for generator-based fuzzers. BeDivFuzz distinguishes between structure-preserving and structure-changing mutations in the space of syntactically valid inputs, and biases its mutation strategy towards validity and behavioral diversity based on the received program feedback. We have evaluated BeDivFuzz on Ant, Maven, Rhino, Closure, Nashorn, and Tomcat. The results show that Be-DivFuzz achieves better behavioral diversity than the state of the art, measured by established biodiversity metrics, namely the Hill numbers, from the field of ecology.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 0e55881c-4b95-4465-bfdd-809b369b2e28Cited by top-tier papers8
- SoK: Prudent Evaluation Practices for FuzzingMoritz Schloegel, Nils Bars, Nico Schiller, Lukas Bernhard et al.S&P 2024 · 69 citations
- Guiding Greybox Fuzzing with Mutation TestingVasudev Vikram, Isabella Laybourn, Ao Li, Nicole Nair et al.ISSTA 2023 · 22 citations
- Towards Better Semantics Exploration for Browser FuzzingChijin Zhou, Quan Zhang, Lihua Guo, Mingzhe Wang et al.OOPSLA 2023 · 15 citations
- Reachable Coverage: Estimating Saturation in FuzzingDanushka Liyanage, Marcel Böhme, Chakkrit Tantithamthavorn, Stephan LippICSE 2023 · 14 citations
- Extrapolating Coverage Rate in Greybox FuzzingDanushka Liyanage, Seongmin Lee, Chakkrit Tantithamthavorn, Marcel BöhmeICSE 2024 · 6 citations
Builds on16
- Coverage-based Greybox Fuzzing as Markov ChainMarcel Böhme, Van-Thuan Pham, Abhik RoychoudhuryCCS 2016 · 1,026 citations
- Driller: Augmenting Fuzzing Through Selective Symbolic ExecutionNick Stephens, John Grosen, Christopher Salls, Andrew Dutcher et al.NDSS 2016 · 1,021 citations
- Directed Greybox FuzzingMarcel Böhme, Van-Thuan Pham, Manh-Dung Nguyen, Abhik RoychoudhuryCCS 2017 · 836 citations
- Evaluating Fuzz TestingGeorge Klees, Andrew Ruef, Benji Cooper, Shiyi Wei et al.CCS 2018 · 753 citations
- VUzzer: Application-aware Evolutionary FuzzingSanjay Rawat, Vivek Jain, Ashish Kumar, Lucian Cojocar et al.NDSS 2017 · 700 citations
Related papers
- An Empirical Examination of Fuzzer Mutator PerformanceJames Kukucka, Luís Pina, Paul Ammann, Jonathan BellISSTA 2024 · 4 citations
- NAUTILUS: Fishing for Deep Bugs with GrammarsCornelius Aschermann, Tommaso Frassetto, Thorsten Holz, Patrick Jauernig et al.NDSS 2019 · 291 citations
- Not All Coverage Measurements Are Equal: Fuzzing by Coverage Accounting for Input PrioritizationYanhao Wang, Xiangkun Jia, Yuwei Liu, Kyle Zeng et al.NDSS 2020
- SyzDiversity: Diversity-Guided Linux Kernel FuzzingKun Hu, Jiaji Qin, Chaofeng Sha, Bihuan Chen et al.ISSTA 2026
- Leveraging Binary Coverage for Effective Generation Guidance in Kernel FuzzingJianzhong Liu, Yuheng Shen, Yiru Xu, Yu JiangCCS 2024 · 4 citations
