一句话:提出 DependaFix,一个集成于 GitHub CI 工作流的 App,自动修复 Java 项目因依赖更新导致的构建失败。
现代软件开发依赖大量第三方库,但升级依赖版本常引入破坏性变更,导致项目构建失败。在持续集成(CI)流水线中人工诊断并修复这类失败十分耗时,也延缓了安全与功能更新的采用。本文提出 DependaFix,一个 GitHub App,旨在端到端自动修复 Java 项目在依赖版本更新后出现的构建失败。DependaFix 构建在基于大语言模型(LLM)的自动修复工具 Byam 之上,将其修复流程集成进 GitHub 面向 pull request 的 CI/CD 工作流:它检测因依赖版本更新而失败的 PR,从 CI 日志与本地 Maven 构建中提取构建上下文,将修复任务委托给 Byam,并在修复成功后自动创建一个修复 PR。作者通过一个示例展示了该工具能够自动化修复过程,有望减少开发者人工诊断与修复依赖更新失败的工作量。
Third-party libraries are essential to modern software development, but updating them can introduce changes that break the project build. Manually diagnosing and repairing such failures in continuous integration (CI) pipelines is time-consuming and delays the adoption of security and feature updates. In this paper, we present DependaFix, a GitHub App that automates the end-to-end repair of Java projects whose builds break after dependency version updates. DependaFix builds on Byam, an automated repair tool based on large language models (LLMs), by integrating the repair process into GitHub's CI/CD workflow for pull requests. DependaFix detects failing dependency version-update pull requests and attempts to repair them. It extracts build context from CI logs and local Maven builds, delegates the repair to Byam, and creates a pull request for the repair if the fix succeeds. We demonstrate, through an example, that DependaFix can automate the repair process, potentially reducing the manual effort required by developers to diagnose and fix dependency-update failures in pull requests.