paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Binary reduction of dependency graphs

依赖图的二元归约
FSE Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2019匹配度 2/10 · 该论文研究增量调试中的依赖图归约与 Java 字节码输入缩减,属于软件工程/调试领域,与用户关注的 PL→AI、AI→PL、浮点程序分析、贝叶斯程序分析及 LLM/Agent 交叉方向基本无关。引用 36 inbox
Christian Gram Kalhauge, Jens Palsberg
crossref: 2026-09-12

AI 速览

一句话:将增量调试中的输入归约建模为依赖图归约,提出 Binary Reduction 算法与 J-Reduce 工具,加速 Java 字节码归约。

增量调试可将触发失败的输入缩减为较小输入,从而揭示失败原因,已用于 C 程序、XML 数据和线程调度等。但对于包含大量内部依赖的输入,例如 C#、Java 和 Java 字节码,增量调试的可扩展性很差。本文指出其核心挑战是依赖图上的归约问题,并提出一种通用的依赖图归约策略,结合新的 Binary Reduction 算法,在面向 Java 字节码的工具 J-Reduce 中实现。实验表明,与增量调试相比,该工具平均快 12 倍且归约效果更好,并据此为三个 Java 字节码反编译器生成并提交了简短的错误报告。

问题
增量调试在具有大量内部依赖的输入(如 C#、Java 和 Java 字节码)上可扩展性差,难以有效缩减触发失败的输入。
方法
将输入归约的核心挑战形式化为依赖图归约问题,提出通用归约策略与 Binary Reduction 算法,并在 J-Reduce 中面向 Java 字节码实现。
评估
通过实验与增量调试对比,结果显示 J-Reduce 平均快 12 倍且获得更强归约,并成功为三个 Java 字节码反编译器生成简短错误报告。
原文摘要(Abstract)

Delta debugging is a technique for reducing a failure-inducing input to a small input that reveals the cause of the failure. This has been successful for a wide variety of inputs including C programs, XML data, and thread schedules. However, for input that has many internal dependencies, delta debugging scales poorly. Such input includes C#, Java, and Java bytecode and they have presented a major challenge for input reduction until now. In this paper, we show that the core challenge is a reduction problem for dependency graphs, and we present a general strategy for reducing such graphs. We combine this with a novel algorithm for reduction called Binary Reduction in a tool called J-Reduce for Java bytecode. Our experiments show that our tool is 12x faster and achieves more reduction than delta debugging on average. This enabled us to create and submit short bug reports for three Java bytecode decompilers.

链接与引用

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

BibTeX
@inproceedings{paperbot5098,
  title = {Binary reduction of dependency graphs},
  author = {Christian Gram Kalhauge and Jens Palsberg},
  booktitle = {FSE},
  year = {2019},
  doi = {10.1145/3338906.3338956}
}