一句话:提出基于函数聚类的模糊测试终止准则,按脆弱性分布提前停止,节省5–30%测试时间。
模糊测试通过生成大量输入触发程序崩溃,但随着软件规模增长,对全部函数进行充分模糊测试的资源开销越来越大。现有终止准则(函数覆盖率、潜在脆弱函数覆盖率、崩溃计数等)未考虑被测函数的规模与重要性差异,可能对非关键函数过度测试,或因脆弱函数数量估计偏低而过早终止。本文提出一种基于函数聚类的模糊测试终止准则:先用语言模型对函数进行编码,再通过多指标融合算法确定聚类数目,从而建立函数聚类与脆弱性分布之间的关联,并据此判断何时停止测试。作者在八个函数库上与三种现有方法进行对比实验,结果显示新准则在不同配置下将模糊测试时间减少1.4–7.2小时(5–30%),同时平均仅损失0.25个bug,效果优于基于潜在脆弱函数覆盖率的准则。
Fuzzing is a testing technique that generates a large number of inputs to cause program crashes. As software development accelerates and projects scale, the demand for fuzz testing in software assurance has increased. Performing comprehensive fuzz testing on all functions has become increasingly challenging and resource-intensive. Current methods for determining when to stop fuzz testing activities rely on metrics such as function coverage, potential vulnerability function coverage or crash count. However, these metrics fail to account for the scale of the functions under test. For example, function coverage may lead to excessive testing on non-critical functions, while vulnerability function coverage can result in premature termination if the estimated number of vulnerability functions is too low.This paper introduces a novel fuzzing testing termination criterion based on function clustering. We compare our criterion with three existing methods. First, by leveraging language model for function encoding and a multi-metric fusion algorithm for determining the number of clusters, we establish a relationship between function clustering and vulnerability distribution. Second, our experiments on eight function libraries demonstrate that the proposed termination criterion significantly improves testing efficiency, reducing fuzzing time by 1.4–7.2 hours (5–30%) across different configurations while maintaining minimal bug loss (averaging 0.25 bugs), outperforming existing criteria like potential vulnerability function coverage-based approaches.
DOI 原文 ·
@inproceedings{paperbot9266,
title = {Function Clustering-Based Fuzzing Termination: Toward Smarter Early Stopping},
author = {Liang Ding and Wenzhang Yang and Yinxing Xue},
booktitle = {ASE},
year = {2025},
doi = {10.1109/ase63991.2025.00145}
}