论文
JETO-Bench:Java 执行时间改进补丁的可重现基准
JETO-Bench: A Reproducible Benchmark for Execution Time Improvement Patches in Java
摘要
性能问题的自动修复正在引起人们的关注,但现有的执行时间改进补丁 (ETIP) 基准测试以 Python、C++ 或 .NET 为目标,并且是无法在用户定义的配置下扩展的固定数据集。我们推出了 JETO-Mine,这是第一个可配置且可重用的工具,用于在现实 Java 项目中自动创建可重复的 ETIP 基准测试。 Java 具有挑战性,因为即时编译和垃圾收集使执行测量变得不稳定。 JETO-Mine 采用三阶段管道:静态分析使用用户定义的过滤器和基于 LLM 的问题分类器从 GitHub 存储库识别 ETIP,动态分析将识别的 ETIP 包装在 Docker 映像中,并执行统计测试以获取执行时间改进的证据,评估工具支持补丁和测试生成工具的定量评估。使用 JETO-Mine,我们构建了 JETO-Bench,这是一个基准,包含来自 174 个 Java 存储库的 660 个已识别和 91 个手动验证的可执行 ETIP,这些 ETIP 是从 11 年中近 180 万次提交中挖掘的。使用 GPT-5-mini 运行 OpenHands 修复了 14.3% (13/91) 的问题,与之前在其他语言上的工作保持一致。我们的结果还表明,开源 Java 项目很大程度上缺乏证明执行时间改进的测试,这为未来的测试生成研究提供了机会。 JETO-Mine 和 JETO-Bench 可在 https://github.com/khesoem/JETO-Bench 上公开获取。