Adaptive Grey-Box Fuzz-Testing with Thompson Sampling
Siddharth Karamcheti, Gideon Mann, and David Rosenberg

TL;DR
This paper introduces an adaptive machine learning method using Thompson Sampling to optimize mutation operator selection in grey-box fuzzing, significantly improving bug detection and code coverage over traditional AFL.
Contribution
It presents a novel adaptive approach that learns and fine-tunes mutation operator distributions during fuzzing, enhancing effectiveness over existing methods.
Findings
Improved code coverage and crash discovery rates.
Adaptive mutator distribution outperforms baseline AFL.
Thompson Sampling effectively tunes fuzzing process in real-time.
Abstract
Fuzz testing, or "fuzzing," refers to a widely deployed class of techniques for testing programs by generating a set of inputs for the express purpose of finding bugs and identifying security flaws. Grey-box fuzzing, the most popular fuzzing strategy, combines light program instrumentation with a data driven process to generate new program inputs. In this work, we present a machine learning approach that builds on AFL, the preeminent grey-box fuzzer, by adaptively learning a probability distribution over its mutation operators on a program-specific basis. These operators, which are selected uniformly at random in AFL and mutational fuzzers in general, dictate how new inputs are generated, a core part of the fuzzer's efficacy. Our main contributions are two-fold: First, we show that a sampling distribution over mutation operators estimated from training programs can significantly improve…
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.
