paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Function Clustering-Based Fuzzing Termination: Toward Smarter Early Stopping

基于函数聚类的模糊测试终止:迈向更智能的提前停止
ASE 2025 40th IEEE/ACM International Conference on Automated Software Engineering (ASE)2025匹配度 2/10 · 论文核心是模糊测试的终止准则与函数聚类,属于软件测试优化,与用户关注的静态分析、形式化验证、Agentic 程序分析、浮点程序分析及贝叶斯程序分析均无直接交集;语言模型仅用于函数编码,并非研究核心。引用 0 inbox
Liang Ding, Wenzhang Yang, Yinxing Xue
crossref: 2026-09-12

AI 速览

一句话:提出基于函数聚类的模糊测试终止准则,按脆弱性分布提前停止,节省5–30%测试时间。

模糊测试通过生成大量输入触发程序崩溃,但随着软件规模增长,对全部函数进行充分模糊测试的资源开销越来越大。现有终止准则(函数覆盖率、潜在脆弱函数覆盖率、崩溃计数等)未考虑被测函数的规模与重要性差异,可能对非关键函数过度测试,或因脆弱函数数量估计偏低而过早终止。本文提出一种基于函数聚类的模糊测试终止准则:先用语言模型对函数进行编码,再通过多指标融合算法确定聚类数目,从而建立函数聚类与脆弱性分布之间的关联,并据此判断何时停止测试。作者在八个函数库上与三种现有方法进行对比实验,结果显示新准则在不同配置下将模糊测试时间减少1.4–7.2小时(5–30%),同时平均仅损失0.25个bug,效果优于基于潜在脆弱函数覆盖率的准则。

问题
现有模糊测试终止准则依赖函数覆盖率、潜在脆弱函数覆盖率或崩溃计数等指标,忽略了被测函数的规模与差异,容易造成非关键函数的过度测试或关键函数的过早停止。
方法
利用语言模型对函数进行编码,并通过多指标融合算法确定聚类数目,建立函数聚类与脆弱性分布之间的关系,进而构造基于函数聚类的模糊测试终止准则。
评估
在八个函数库上将新准则与三种现有终止方法进行对比实验,测量测试时间与遗漏bug数;结果显示测试时间减少1.4–7.2小时(5–30%),平均仅损失0.25个bug,优于基于潜在脆弱函数覆盖率的方案。
原文摘要(Abstract)

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 原文 ·

BibTeX
@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}
}