Refining Fuzzed Crashing Inputs for Better Fault Diagnosis
Kieun Kim, Seongmin Lee, Shin Hong
TL;DR
DiffMin addresses the challenge that greybox fuzzing often yields crashing inputs that differ substantially from valid inputs, hindering debugging. It refines crashes toward a reference passing input by selecting crash-preserving edits derived from lexical alignment, producing a refined input $c_{ ext{min}}$ with reduced distance to $p$. In a Magma-based pilot, DiffMin substantially reduces lexical distance and improves spectrum-based fault localization for several targets, suggesting practical benefits as a pre-debugging step after fuzzing. Ongoing work aims to broaden refinement strategies and evaluation to strengthen applicability and diagnostic impact.
Abstract
We present DiffMin, a technique that refines a fuzzed crashing input to gain greater similarities to given passing inputs to help developers analyze the crashing input to identify the failure-inducing condition and locate buggy code for debugging. DiffMin iteratively applies edit actions to transform a fuzzed input while preserving the crash behavior. Our pilot study with the Magma benchmark demonstrates that DiffMin effectively minimizes the differences between crashing and passing inputs while enhancing the accuracy of spectrum-based fault localization, highlighting its potential as a valuable pre-debugging step after greybox fuzzing.
