HOPPER: Interpretative Fuzzing for Libraries
Peng Chen, Yuxuan Xie, Yunlong Lyu, Yuxiao Wang, and Hao Chen

TL;DR
HOPPER is a novel interpretative fuzzing approach that automatically generates semantically correct API usage inputs for libraries, significantly improving code coverage and bug detection without domain knowledge.
Contribution
HOPPER introduces a new method transforming library fuzzing into interpreter fuzzing, learning API constraints to generate effective inputs without manual fuzz driver crafting.
Findings
Outperformed existing fuzzers in code coverage and bug finding
Discovered 25 previously unknown bugs in real-world libraries
Learned intra- and inter-API constraints to enhance fuzzing efficiency
Abstract
Despite the fact that the state-of-the-art fuzzers can generate inputs efficiently, existing fuzz drivers still cannot adequately cover entries in libraries. Most of these fuzz drivers are crafted manually by developers, and their quality depends on the developers' understanding of the code. Existing works have attempted to automate the generation of fuzz drivers by learning API usage from code and execution traces. However, the generated fuzz drivers are limited to a few specific call sequences by the code being learned. To address these challenges, we present HOPPER, which can fuzz libraries without requiring any domain knowledge to craft fuzz drivers. It transforms the problem of library fuzzing into the problem of interpreter fuzzing. The interpreters linked against libraries under test can interpret the inputs that describe arbitrary API usage. To generate semantically correct…
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
TopicsSoftware Testing and Debugging Techniques · Software Engineering Research · Advanced Malware Detection Techniques
