paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Fuzzing Java Optimizing Compilers with Complex Inter-Class Structures Guided by Heterogeneous Program Graphs

基于异构程序图引导的复杂类间结构 Java 优化编译器模糊测试
ICSE Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering2026匹配度 2/10 · 该论文研究 Java 编译器模糊测试,核心是用异构程序图生成类间结构测试用例,属于编译测试与程序图应用,但不涉及用户关注的人工智能/LLM、静态分析、浮点程序分析或贝叶斯程序分析等方向。虽然与 PL 和工业编译器 bug 发现有关,但与用户当前研究的交叉主题匹配度很低。引用 0 inbox
Shiyu Qiu, Ming Wen, Zifan Xie, Hai Jin
crossref: 2026-09-12

AI 速览

一句话:提出 InterFuzz,首个用异构程序图引导生成复杂类间结构测试用例的 Java 编译器模糊测试框架,发现 24 个新 bug。

现代 Java JIT 与 AOT 编译器在优化时会推断和分析复杂的类间结构,一旦推断错误就会引入严重缺陷(HotSpot、R8 等生产编译器均有先例)。然而现有 Java 模糊测试工具主要关注类内或方法内的简单构造,难以充分探索类间关系。为此,作者提出 InterFuzz:它引入异构程序图(HPG)来抽象和操纵类间关系,利用类间变异器构造复杂的类间交互,并以图复杂度指标引导测试生成趋向高多样性代码。评估表明,InterFuzz 能发现传统模糊测试器遗漏的编译器缺陷,在 HotSpot、ART 和 R8 上共发现 24 个新 bug,其中 20 个已被开发者确认,16 个依赖复杂的类间结构。

问题
现有 Java 编译器模糊测试工具聚焦类内或方法内构造,无法充分探索类间关系,导致优化编译器在类间结构推断上的缺陷难以被发现。
方法
提出 InterFuzz,用异构程序图(HPG)抽象并操纵类间关系,通过类间变异器构造复杂交互,并以图复杂度引导测试生成朝向高多样性代码。
评估
在 HotSpot、ART 与 R8 上开展评估,共发现 24 个新编译器 bug,其中 20 个被开发者确认、16 个依赖复杂类间结构。
原文摘要(Abstract)

Modern Java compilers, such as Just-In-Time (JIT) and Ahead-Of-Time (AOT) compilers, often infer and analyze complex inter-class structures to perform program optimizations while preserving semantic correctness. However, incorrect inference of these structures during compilation can lead to critical bugs, as observed in production compilers like HotSpot and R8. Despite their effectiveness, existing Java fuzzing tools fail to adequately explore inter-class relationships, focusing instead on simpler intra-class or intra-method constructs. To bridge this gap, we present InterFuzz, the first fuzzing framework designed to systematically generate Java test cases with complex inter-class structures. InterFuzz introduces a novel concept of Heterogeneous Program Graph (HPG) to abstract and manipulate inter-class relationships. It then employs Inter-Class Mutators to construct intricate interactions, and utilizes graph complexities to guide test generation toward high-diversity code. Our evaluation shows that InterFuzz effectively uncovers compiler bugs that elude traditional fuzzers, having discovered 24 new bugs across HotSpot, ART, and R8. Among these, 20 bugs are confirmed by developers and 16 bugs hinge on intricate inter-class structures.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot11616,
  title = {Fuzzing Java Optimizing Compilers with Complex Inter-Class Structures Guided by Heterogeneous Program Graphs},
  author = {Shiyu Qiu and Ming Wen and Zifan Xie and Hai Jin},
  booktitle = {ICSE},
  year = {2026},
  doi = {10.1145/3744916.3773212}
}