论文

ScarfBench:企业 Java 跨框架应用程序迁移的基准

ScarfBench: A Benchmark for Cross-Framework Application Migration in Enterprise Java

模型评测基准与评测资源

摘要

Java 仍然是企业软件的核心,许多应用程序比其原始架构的寿命更长。跨框架迁移它们是一种行为保留重构,涵盖构建配置、依赖项注入、持久性、请求处理和部署。现有的软件工程基准测试涵盖错误修复、功能实现以及语言或版本现代化,但很大程度上未衡量跨框架重构。我们介绍 ScarfBench,这是企业 Java 应用程序的行为保留跨框架重构的基准。它是由跨 Spring、Jakarta EE 和 Quarkus 的专家编写的实现三元组构建而成:34 个应用程序(29 个重点单层,5 个整体)产生 102 个变体(1946 个源文件和测试文件中的约 151K 行)和 204 个定向重构任务。每个任务为代理提供一个工作源应用程序和一个目标框架;代理必须合成一个保留源行为的目标实现。正确性由特定于应用程序的可执行预言机进行评估:候选人必须在容器化的目标运行时中进行编译、部署,并通过应用程序的可观察接口进行行为测试。我们在 ScarfBench 上评估了五种最先进的 编码智能体。最强的在聚焦层迁移上仅实现了 15.3% 的聚合测试通过率,在整个应用程序上仅实现了 12.2%,并且 204 个任务中只有一项产生了完全行为等效的目标。跨框架方向和架构层的难度是不对称的:Spring<->Quarkus 是最容易处理的一对,而针对 Jakarta 的迁移是最难的。根据 LLM 作为法官和专家对失败任务跟踪的裁决,我们得出了跨越构建、部署和测试阶段的重复失败类别的分类法。我们在 https://scarfbench.info 上发布了基准测试、工具和代理跟踪。