$MC^2$: Rigorous and Efficient Directed Greybox Fuzzing
Abhishek Shah, Dongdong She, Samanway Sadhu, Krish Singal, Peter, Coffman, Suman Jana

TL;DR
This paper introduces a theoretically grounded, optimal directed greybox fuzzing algorithm that significantly outperforms existing tools in efficiency and bug detection on benchmark programs.
Contribution
It presents a novel complexity-theoretic framework for directed greybox fuzzing and designs an optimal randomized algorithm with proven query complexity bounds.
Findings
Outperforms state-of-the-art fuzzers by up to 134x on benchmarks.
Proves the optimality of the proposed fuzzing algorithm in terms of oracle queries.
Discovered 15 previously unknown bugs that other tools missed.
Abstract
Directed greybox fuzzing is a popular technique for targeted software testing that seeks to find inputs that reach a set of target sites in a program. Most existing directed greybox fuzzers do not provide any theoretical analysis of their performance or optimality. In this paper, we introduce a complexity-theoretic framework to pose directed greybox fuzzing as a oracle-guided search problem where some feedback about the input space (e.g., how close an input is to the target sites) is received by querying an oracle. Our framework assumes that each oracle query can return arbitrary content with a large but constant amount of information. Therefore, we use the number of oracle queries required by a fuzzing algorithm to find a target-reaching input as the performance metric. Using our framework, we design a randomized directed greybox fuzzing algorithm that makes a logarithmic (wrt. the…
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.
