Litcius/Paper detail

Boosting fuzzer efficiency: an information theoretic perspective

Marcel Böhme, Valentin J. M. Manès, Sang Kil

2020109 citationsDOI

Abstract

In this paper, we take the fundamental perspective of fuzzing as a learning process. Suppose before fuzzing, we know nothing about the behaviors of a program P: What does it do? Executing the first test input, we learn how P behaves for this input. Executing the next input, we either observe the same or discover a new behavior. As such, each execution reveals ”some amount” of information about P’s behaviors. A classic measure of information is Shannon’s entropy. Measuring entropy allows us to quantify how much is learned from each generated test input about the behaviors of the program. Within a probabilistic model of fuzzing, we show how entropy also measures fuzzer efficiency. Specifically, it measures the general rate at which the fuzzer discovers new behaviors. Intuitively, efficient fuzzers maximize information.

Topics & Concepts

Fuzz testingComputer scienceBoosting (machine learning)Probabilistic logicEntropy (arrow of time)Machine learningPerspective (graphical)Artificial intelligenceTheoretical computer scienceData miningSoftwareProgramming languagePhysicsQuantum mechanicsSoftware Testing and Debugging TechniquesAdvanced Malware Detection TechniquesMachine Learning and Algorithms