Variability-Aware Fuzzing
Open Access
- 12 April 2026
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 3372-3384
Abstract
Modern software systems often provide a vast configuration space to enhance reusability and adaptability, but this configurability also significantly complicates bug finding. While existing static and dynamic variability-aware analysis approaches systematically explore the configuration space, they often suffer from scalability limitations. Conversely, grey-box fuzzing has demonstrated remarkable success in vulnerability detection through lightweight, iterative input space exploration, yet the state-of-the-art configuration fuzzers overlook the potential of integrating variability-aware analysis within the fuzzing process. In this paper, we present VAFuzz, a novel variability-aware fuzzer that integrates principled dynamic variability-aware analysis within the fuzzing process to enhance configuration space exploration. VAFuzz introduces new variability-aware seed selection and mutations to drive the fuzzing process. These are enabled by a new presence condition seed queue that tracks coverage and crash contributions across the configuration space, and a map that captures the relationship between data seeds and presence conditions. Our evaluation on a diverse set of programs show that VAFuzz outperforms the state-of-the-art configuration fuzzers on 21 out of 25 programs in terms of code coverage. It also detects more vulnerabilities than these baselines, including previous unknown bugs.Keywords
Funding Information
- National Science Foundation (CCF-2008905)
- National Science Foundation (CCF-2047682)
- National Science Foundation (CNS-2346528)
This publication has 39 references indexed in Scilit:
- Grey-Box Concolic Testing on Binary Code2019
- iTree: Efficiently discovering high-coverage configurations using interaction trees2012
- Integration Testing of Software Product Lines Using Compositional Symbolic Execution2012
- Improving the Testing and Testability of Software Product LinesLecture Notes in Computer Science, 2010
- Reducing Configurations to Monitor in a Software Product Line2010
- Model Checking of Domain Artifacts in Product Line Engineering2009
- Z3: An Efficient SMT Solver2008
- Constructing test suites for interaction testing2003
- Model checking programs2000
- The AETG system: an approach to testing based on combinatorial designIEEE Transactions on Software Engineering, 1997