Effective Seed Scheduling for Fuzzing with Graph Centrality Analysis
Dongdong She, Abhishek Shah, Suman Jana

TL;DR
This paper introduces a seed scheduling method for fuzzing that uses graph centrality analysis of control flow graphs to better select seeds, significantly improving coverage and bug discovery.
Contribution
The paper proposes a novel seed scheduling strategy based on graph centrality measures to approximate potential edge coverage gain efficiently.
Findings
Increases feature coverage by 25.89% over Entropic.
Achieves 4.21% higher edge coverage than the next-best AFL scheduler.
Discovers 3 additional bugs compared to the next-best method.
Abstract
Seed scheduling, the order in which seeds are selected, can greatly affect the performance of a fuzzer. Existing approaches schedule seeds based on their historical mutation data, but ignore the structure of the underlying Control Flow Graph (CFG). Examining the CFG can help seed scheduling by revealing the potential edge coverage gain from mutating a seed. An ideal strategy will schedule seeds based on a count of all reachable and feasible edges from a seed through mutations, but computing feasibility along all edges is prohibitively expensive. Therefore, a seed scheduling strategy must approximate this count. We observe that an approximate count should have 3 properties -- (i) it should increase if there are more edges reachable from a seed; (ii) it should decrease if mutation history information suggests an edge is hard to reach or is located far away from currently visited edges;…
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 · Advanced Malware Detection Techniques · Protein Degradation and Inhibitors
