Title
Improving Function Coverage with Munch: A Hybrid Fuzzing and Directed Symbolic Execution Approach.
Abstract
Fuzzing and symbolic execution are popular techniques for finding vulnerabilities and generating test-cases for programs. Fuzzing, a blackbox method that mutates seed input values, is generally incapable of generating diverse inputs that exercise all paths in the program. Due to the path-explosion problem and dependence on SMT solvers, symbolic execution may also not achieve high path coverage. A hybrid technique involving fuzzing and symbolic execution may achieve better function coverage than fuzzing or symbolic execution alone. In this paper, we present Munch, an open-source framework implementing two hybrid techniques based on fuzzing and symbolic execution. We empirically show using nine large open-source programs that overall, Munch achieves higher (in-depth) function coverage than symbolic execution or fuzzing alone. Using metrics based on total analyses time and number of queries issued to the SMT solver, we also show that Munch is more efficient at achieving better function coverage.
Year
DOI
Venue
2018
10.1145/3167132.3167289
SAC 2018: Symposium on Applied Computing Pau France April, 2018
Keywords
DocType
Volume
Software testing, Symbolic execution, Fuzzing, Function coverage, Compositional analysis
Conference
abs/1711.09362
ISBN
Citations 
PageRank 
978-1-4503-5191-1
4
0.47
References 
Authors
15
4
Name
Order
Citations
PageRank
Saahil Ognawala1224.05
Thomas Hutzelmann241.15
Eirini Psallida340.47
Alexander Pretschner4269.69