← 最新论文
💻 computer science

MigrationBench: Repository-Level Code Migration Benchmark from Java 8

本文介绍了 MigrationBench,这是一个用于将 Java 8 代码迁移至现代长期支持版本(17 和 21)的全方位仓库级基准测试与评估框架,结果表明智能体大语言模型框架能够在此项极具挑战性的任务中实现高成功率。

原作者: Linbo Liu, Xinle Liu, Qiang Zhou, Lin Chen, Yihan Liu, Hoan Nguyen, Behrooz Omidvar-Tehrani, Xi Shen, Jun Huan, Omer Tripp, Anoop Deoras

发布于 2026-05-29
📖 1 分钟阅读☕ 轻松阅读

原作者: Linbo Liu, Xinle Liu, Qiang Zhou, Lin Chen, Yihan Liu, Hoan Nguyen, Behrooz Omidvar-Tehrani, Xi Shen, Jun Huan, Omer Tripp, Anoop Deoras

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你拥有一座巨大的古老图书馆,里面藏满了用一种特定、略显过时的英语风格(我们称之为“英语 8")写成的书籍。这座图书馆规模宏大,藏书成千上万,且每一本书目前都处于完美状态。

现在,想象图书馆董事会决定将整个建筑升级到一种全新的现代标准(“英语 17")。这不仅仅是更换字体;而是要更新语法规则、词汇以及书籍的组织方式,以便它们能与新建筑的安全系统和电梯协同工作。

MigrationBench 是由 AWS AI 的研究人员创建的一项巨大挑战,旨在测试人工智能(特别是大型语言模型或 LLM)处理这项大规模翻新项目的表现。

以下是他们工作的分解,采用简单的类比:

1. 问题:搬迁整座城市,而非仅仅一栋房子

大多数以往的人工智能测试,就像是要求机器人修复一个漏水的水龙头或撰写一个段落。但现实世界的软件并非只有一个文件;它是一个由相互连接的建筑物(即“代码仓库”)组成的整座城市。

  • 挑战:从“英语 8"迁移到“英语 17"需要同时更改数千个文件。如果你更改了一个路标,可能会导致三个街区外的交通信号灯失灵。
  • 差距:直到现在,还没有一个标准化的“考试”来评估人工智能是否能够在不导致整个系统崩溃的情况下,完成整个代码城市的翻新工作。

2. 解决方案:"MigrationBench"数据集

研究人员构建了一个名为 MigrationBench 的大型测试套件。

  • 完整数据集:他们从互联网(如 GitHub)上收集了 5,102 个真实的开源 Java 项目。他们对这些项目进行了筛选,确保它们质量高、拥有适当的许可证,并且目前运行完美。
  • “精选”子集:测试所有 5000 多个项目耗时太久。因此,他们亲手挑选了 300 个最复杂、最棘手且最有趣的项目。你可以将此视为数据集的“期末考试”版本,旨在对人工智能进行真正的压力测试。

3. 游戏规则(评估标准)

如何判断翻新是否成功?研究人员设定了两个难度等级:

  • 等级 1:最小化迁移(“能运行”测试)

    • 目标:人工智能只需确保代码能够编译(构建),并且所有现有测试在新版本中都能通过。
    • 类比:建筑物是安全的,灯光亮起,电梯运行正常。书籍可读。
    • 成功率:使用他们最佳的人工智能配置,在此处的成功率为 71.67%
  • 等级 2:最大化迁移(“现代化”测试)

    • 目标:人工智能不仅要确保代码能运行,还必须将代码内部的每一个工具和库升级到绝对最新、最安全的版本。
    • 类比:不仅建筑物是安全的,人工智能还更换了所有旧管道为新的铜管,将监控摄像头更新为 4K 分辨率,并安装了最新的智能家居功能。这要困难得多,因为新工具通常有不同的规则。
    • 成功率:这要严峻得多。最佳的人工智能配置在此处的成功率为 53.33%

4. 工作者:人工智能代理

研究人员并没有仅仅要求人工智能“编写代码”。他们构建了 人工智能代理——配备工具的数字化员工。

  • 基础员工:一个简单的人工智能,查看代码并尝试修复错误。它在处理“最大化”升级时遇到了困难。
  • 智能员工(提示工程):他们为基础员工提供了一套更好的指令,明确指示其升级所有内容。这大有裨益。
  • 研究员工(RAG):他们为员工提供了一本最新软件版本的“电话簿”(知识库),使其无需猜测。这进一步改善了结果。
  • 混合团队(获胜者):这是最巧妙的方案。他们使用计算机程序自动用新工具替换旧工具(一个快速、机械化的步骤),然后让人工智能代理介入,修复新工具无法完美契合的混乱部分。
    • 结果:该团队的表现与最昂贵的人工智能员工相当,但使用了 11% 更少 的计算资源。

5. 结果

该论文表明,虽然人工智能在修复小型代码问题方面变得越来越擅长,但将整个软件“城市”从旧版本翻新到新版本仍然是一项巨大的挑战。

  • 混合方法(结合自动化工具与人工智能)被证明是执行此任务最高效的方式。
  • 该数据集以及这些人工智能代理的代码现已公开,其他研究人员可以尝试构建更优秀的翻新团队。

简而言之:MigrationBench 是一个全新、严格的人工智能健身房,用于练习将整个软件库从旧版本迁移到新版本。它表明,虽然人工智能具备能力,但最复杂的“翻新”工作仍然需要自动化工具与类人推理的智能结合,才能将工作圆满完成。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →