一句话:提出 DiffMin,在保持崩溃行为的前提下迭代编辑 fuzzed 输入使其更接近通过输入,从而提升故障定位精度。
灰盒 fuzzing 发现的崩溃输入通常与正常通过输入差异巨大,导致开发者难以识别触发故障的条件并定位缺陷代码。本文提出 DiffMin,一种在保持崩溃行为不变的前提下,迭代地对 fuzzed 崩溃输入施加编辑动作的技术,使其与给定的通过输入更加相似,从而为调试提供更清晰的对比信息。作者在 Magma 基准上开展了初步研究,结果表明 DiffMin 能有效最小化崩溃输入与通过输入之间的差异,同时提升基于频谱的故障定位(SBFL)的准确性,说明它可以作为灰盒 fuzzing 之后有价值的预调试(pre-debugging)步骤。
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.