Title
Facilitating Parallel Fuzzing with Mutually-Exclusive Task Distribution
Abstract
Fuzz testing, or fuzzing, has become one of the de facto standard techniques for bug finding in the software industry. In general, fuzzing provides various inputs to the target program with the goal of discovering un-handled exceptions and crashes. In business sectors where the time budget is limited, software vendors often launch many fuzzing instances in parallel as a common means of increasing code coverage. However, most of the popular fuzzing tools in their parallel mode naively run multiple instances concurrently, without elaborate distribution of workload. This can lead different instances to explore overlapped code regions, eventually reducing the benefits of concurrency. In this paper, we propose a general model to describe parallel fuzzing. This model distributes mutually-exclusive but similarly-weighted tasks to different instances, facilitating concurrency and also fairness across instances. Following this model, we develop a solution, called AFL-EDGE, to improve the parallel mode of AFL, considering a round of mutations to a unique seed as a task and adopting edge coverage to define the uniqueness of a seed. We have implemented AFL-EDGE on top of AFL and evaluated the implementation with AFL on 9 widely used benchmark programs. It shows that AFL-EDGE can benefit the edge coverage of AFL. In a 24-h test, the increase of edge coverage brought by AFL-EDGE to AFL ranges from 9.5% to 10.2%, depending on the number of instances. As a side benefit, we discovered 14 previously unknown bugs.
Year
DOI
Venue
2021
10.1007/978-3-030-90022-9_10
SECURITY AND PRIVACY IN COMMUNICATION NETWORKS, SECURECOMM 2021, PT II
Keywords
DocType
Volume
Software testing, Parallel fuzzing, Performance
Conference
399
ISSN
Citations 
PageRank 
1867-8211
0
0.34
References 
Authors
0
6
Name
Order
Citations
PageRank
Yifan Wang100.34
Yuchen Zhang2287.80
Chengbin Pang341.77
Peng Li400.34
Nikolaos Triandopoulos500.34
Jun Xu66510.29