Crossover in Parametric Fuzzing

Crossover in Parametric Fuzzing
复制标题

DOI:
10.1145/3597503.3639160
复制
发表时间:
2024-04
期刊:
2024 IEEE/ACM 46th International Conference on Software Engineering (ICSE)
影响因子:
--
通讯作者:
Katherine Hough;Jonathan Bell
Katherine Hough;Jonathan Bell
中科院分区:
其他
文献类型:
--
作者:
Katherine Hough;Jonathan Bell

文献摘要

相似文献

参数模糊结合了基于进化器的fuzzing,以创建唯一的执行行为的结构化测试输入。 - 不需要特定于类型的操作员。但是,来自多个输入的特征。 Java的链接跨界和评估了链接的交叉保留有利性状的能力。 - 在漫长和短模糊运动中,前部参数构魔和另外两种形式的跨界。
Parametric fuzzing combines evolutionary and generator-based fuzzing to create structured test inputs that exercise unique execution behaviors. Parametric fuzzers internally represent inputs as bit strings referred to as “parameter sequences”. Interesting parameter sequences are saved by the fuzzer and perturbed to create new in-puts without the need for type-specific operators. However, existing work on parametric fuzzing only uses mutation operators, which modify a single input; it does not incorporate crossover, an evolutionary operator that blends multiple inputs together. Crossover operators aim to combine advantageous traits from multiple inputs. However, the nature of parametric fuzzing limits the effectiveness of traditional crossover operators. In this paper, we propose linked crossover, an approach for using dynamic execution information to identify and exchange analogous portions of parameter sequences. We created an implementation of linked crossover for Java and evaluated linked crossover's ability to preserve advantageous traits. We also evaluated linked crossover's impact on fuzzer performance on seven real-world Java projects and found that linked crossover consistently performed as well as or better than three state-of-the-art parametric fuzzers and two other forms of crossover on both long and short fuzzing campaigns.