论文

CI-Repair-Bench:通过 CI 工作流程自动进行补丁验证的存储库感知基准

CI-Repair-Bench: A Repository-Aware Benchmark for Automated Patch Validation via CI Workflows

模型评测基准与评测资源

摘要

持续集成 (CI) 通过多阶段工作流程强制存储库级别的正确性,是现代软件开发的核心,但诊断和修复 CI 故障仍然具有挑战性。与传统的程序修复不同,CI 故障经常涉及非代码工件、环境和依赖性问题、嘈杂的执行日志以及工作流级别的约束。现有的程序修复基准在这种情况下存在不足:它们主要以测试为中心,限制对源代码的修复,假设固定的执行环境,并在不反映真实存储库级别验证的简化 CI 工作流程下进行评估。我们引入 CI-Repair-Bench,这是一个根据真实 GitHub Actions 执行构建的 CI 验证的存储库级程序修复基准。它包含来自 103 个存储库的 567 个 CI 故障实例,并仅通过原始工作流程下的完整 CI 重新执行来评估修复正确性。故障分为 12 种 CI 错误类型,从而实现细粒度、错误类型感知的评估。为了演示基准测试的使用,我们提供了一个参考 CI 修复工作流程,该工作流程可分析 CI 日志以定位故障并生成候选补丁。经验结果表明,自动修复对于局部的、工具强制的故障(例如格式化和 linting)最为有效,而环境、依赖性和配置相关的故障仍然具有挑战性;性能最好的LLM达到了18.9%的修复成功率。 CI-Repair-Bench 为推进 CI 原生自动化程序修复研究提供了现实的评估基础。