Homo in Machina: Improving Fuzz Testing Coverage via Compartment Analysis
Joshua Bundt, Andrew Fasano, Brendan Dolan-Gavitt, William Robertson,, Tim Leek

TL;DR
This paper introduces HM-fuzzing, a hybrid approach combining automated fuzz testing with human-guided compartment analysis to significantly improve code coverage in software testing.
Contribution
The paper presents compartment analysis as a novel method to prioritize program parts for manual testing, enhancing fuzzing effectiveness.
Findings
Coverage improvements up to 94% over AFL++
Compartment analysis is stable and early applicable
Median coverage increase of 13% across projects
Abstract
Fuzz testing is often automated, but also frequently augmented by experts who insert themselves into the workflow in a greedy search for bugs. In this paper, we propose Homo in Machina, or HM-fuzzing, in which analyses guide the manual efforts, maximizing benefit. As one example of this paradigm, we introduce compartment analysis. Compartment analysis uses a whole-program dominator analysis to estimate the utility of reaching new code, and combines this with a dynamic analysis indicating drastically under-covered edges guarding that code. This results in a prioritized list of compartments, i.e., large, uncovered parts of the program semantically partitioned and largely unreachable given the current corpus of inputs under consideration. A human can use this categorization and ranking of compartments directly to focus manual effort, finding or fashioning inputs that make the compartments…
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.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Engineering Research · Advanced Malware Detection Techniques
