paperbot · PL 论文追踪

全部论文 待读 收藏

P2 History-driven build failure fixing: how far are we?

历史驱动的构建失败修复:我们走了多远?
ISSTA Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis2019匹配度 2/10 · 该论文研究的是 Gradle 构建失败自动修复,属于软件工程中的程序修复与构建系统方向,并未涉及用户画像中的核心主题,如静态分析、LLM/Agent 与程序分析/形式化验证的交叉、浮点程序分析或贝叶斯程序分析。虽然它构建了数据集并揭示了历史修复工具的局限,但方法本身不依赖 LLM,也未面向 ML/Agentic 系统,因此与研究方向匹配度较低。引用 42 inbox
Yiling Lou, Junjie Chen, Lingming Zhang, Dan Hao, Lu Zhang
crossref: 2026-09-12

AI 速览

一句话:构建大规模 Gradle 构建失败数据集,揭示历史修复工具 HireBuild 的局限,并提出基于当前项目与外部资源搜索的简单方法,修复量翻倍。

构建系统在软件演化过程中频繁失效,自动化构建修复技术需求迫切。现有最先进的 Gradle 构建修复工具 HireBuild 通过挖掘历史修复信息来修复构建失败,但其评估数据集有限且严重依赖历史修复信息的质量与可得性。本文从 Top-1000 GitHub 项目中构建了一个新的大规模构建失败数据集,对 HireBuild 进行了定量与定性评估,揭示其有效性与局限。受此启发,作者提出一种简化技术:不从历史修复信息出发,而是从被测项目当前状态与外部资源中搜索生成候选补丁。实验结果表明,这种基于当前信息的简单方法修复的可复现构建失败数量是基于历史信息的 HireBuild 的两倍,并为未来构建失败修复技术提供了多项发现与指导准则。

问题
自动化构建失败修复技术需求大,但现有基于历史修复信息的工具(如 HireBuild)评估数据集有限,且高度依赖历史修复信息的质量与可用性,其真实效果与局限尚不明确。
方法
从 Top-1000 GitHub 项目构建大规模 Gradle 构建失败数据集,对 HireBuild 进行定量与定性评估;并据此提出一种简化方法,通过搜索被测项目当前状态与外部资源来生成补丁,而非依赖历史修复信息。
评估
在扩展后的构建失败数据集上对比 HireBuild 与新方法,统计可复现构建失败的修复数量,并进行定性分析以总结未来构建失败修复技术的经验与准则。
原文摘要(Abstract)

Build systems are essential for modern software development and maintenance since they are widely used to transform source code artifacts into executable software. Previous work shows that build systems break frequently during software evolution. Therefore, automated build-fixing techniques are in huge demand. In this paper we target a mainstream build system, Gradle, which has become the most widely used build system for Java projects in the open-source community (e.g., GitHub). HireBuild, state-of-the-art build-fixing tool for Gradle, has been recently proposed to fix Gradle build failures via mining the history of prior fixes. Although HireBuild has been shown to be effective for fixing real-world Gradle build failures, it was evaluated on only a limited set of build failures, and largely depends on the quality/availability of historical fix information. To investigate the efficacy and limitations of the history-driven build fix, we first construct a new and large build failure dataset from Top-1000 GitHub projects. Then, we evaluate HireBuild on the extended dataset both quantitatively and qualitatively. Inspired by the findings of the study, we propose a simplistic new technique that generates potential patches via searching from the present project under test and external resources rather than the historical fix information. According to our experimental results, the simplistic approach based on present information successfully fixes 2X more reproducible build failures than the state-of-art HireBuild based on historical fix information. Furthermore, our results also reveal various findings/guidelines for future advanced build failure fixing.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5347,
  title = {History-driven build failure fixing: how far are we?},
  author = {Yiling Lou and Junjie Chen and Lingming Zhang and Dan Hao and Lu Zhang},
  booktitle = {ISSTA},
  year = {2019},
  doi = {10.1145/3293882.3330578}
}