paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Selecting Initial Seeds for Better JVM Fuzzing

为更好的 JVM fuzzing 选择初始种子
ICSE 2025 IEEE/ACM 47th International Conference on Software Engineering (ICSE)2025匹配度 1/10 · 该论文研究 JVM fuzzing 的初始种子选择,属于软件测试与模糊测试方向,与用户关注的静态分析、LLM/Agent 与程序分析交叉、浮点程序分析、贝叶斯程序分析均无直接关联。引用 3 inbox
Tianchang Gao, Junjie Chen, Dong Wang, Yile Guo, Yingquan Zhao, Zan Wang
crossref: 2026-09-12

AI 速览

一句话:首次系统研究 JVM fuzzing 的初始种子选择,提出基于控制流图的选择方法,在更低开销下大幅提升缺陷发现能力。

JVM fuzzing 是保障实现质量的重要手段,而初始种子构成其流程基础。传统程序 fuzzing 研究已表明种子冗余会影响效果,但 JVM fuzzing 代码规模大、结构复杂且兼具语法与语义特征,既有种子选择方法是否适用尚不清楚。本文设计覆盖基于覆盖率、pre-fuzz 与程序特征三类共 10 种初始种子选择方法,并在三种 JVM 实现上结合 JavaTailor 与 VECT 两种先进 fuzzing 技术开展实证研究,从有效性与效率、真实程序表现、新缺陷检测三方面评估。结果显示,基于控制流图的程序特征方法开销仅约 30 秒,效果较使用全部种子提升 142%–269%,并能改善真实程序质量、提升未知缺陷检出数,所检出的 25 个缺陷中 21 个已被开发者确认或修复。

问题
JVM fuzzing 中初始种子存在大量冗余,但既有面向传统程序的种子选择方法是否适用于 JVM fuzzing、程序特征能否进一步提升效果尚不明确。
方法
设计 10 种初始种子选择方法(基于覆盖率、pre-fuzz 与程序特征,后者包括控制流图特征),并在三种 JVM 实现上结合 JavaTailor 和 VECT 两种先进 fuzzing 技术进行实证比较。
评估
从有效性与效率、真实程序上的表现、新缺陷检测能力三方面评估;基于控制流图的方法仅约 30 秒开销即优于其他方法,效果较全集种子提升 142%–269%,并检出 25 个未知缺陷(21 个被确认或修复)。
原文摘要(Abstract)

JVM fuzzing techniques serve as a cornerstone for guaranteeing the quality of implementations. In typical fuzzing workflows, initial seeds are crucial as they form the basis of the process. Literature in traditional program fuzzing has confirmed that effectiveness is largely impacted by redundancy among initial seeds, thereby proposing a series of seed selection methods. JVM fuzzing, compared to traditional ones, presents unique characteristics, including large-scale and intricate code, and programs with both syntactic and semantic features. However, it remains unclear whether the existing initial seed selection methods are suitable for JVM fuzzing and whether utilizing program features can enhance effectiveness. To address this, we devise a total of 10 initial seed selection methods, comprising coverage-based, prefuzz-based, and program-feature-based methods. We then conduct an empirical study on three JVM implementations to extensively evaluate the performance of the initial seed selection methods within two state-of-the-art fuzzing techniques (JavaTailor and VECT). Specifically, we examine performance from three aspects: (i) effectiveness and efficiency using widely studied initial seeds, (ii) effectiveness using the programs in the wild, and (iii) the ability to detect new bugs. Evaluation results first show that the program-feature-based method that utilizes the control flow graph not only has a significantly lower time overhead (i.e., 30s), but also outperforms other methods, achieving 142% to 269% improvement compared to the full set of initial seeds. Second, results reveal that the initial seed selection greatly improves the quality of wild programs and exhibits complementary effectiveness by detecting new behaviors. Third, results demonstrate that given the same testing period, initial seed selection improves the JVM fuzzing techniques by detecting more unknown bugs. Particularly, 21 out of the 25 detected bugs have been confirmed or fixed by developers. This work takes the first look at initial seed selection in JVM fuzzing, confirming its importance in fuzzing effectiveness and efficiency.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot8841,
  title = {Selecting Initial Seeds for Better JVM Fuzzing},
  author = {Tianchang Gao and Junjie Chen and Dong Wang and Yile Guo and Yingquan Zhao and Zan Wang},
  booktitle = {ICSE},
  year = {2025},
  doi = {10.1109/icse55347.2025.00028}
}