Scarfbench
收藏github2026-04-09 更新2026-04-17 收录
下载链接:
https://github.com/scarfbench/benchmark
下载链接
链接失效反馈官方服务:
资源简介:
Scarf(自包含应用程序重构)是一个基准测试套件,用于评估AI代理在迁移企业Java应用程序时的能力,涵盖Jakarta EE、Quarkus和Spring框架,同时保持功能、惯用模式和架构完整性。
Scarf (Self-Contained Application Refactoring) is a benchmark suite for evaluating the capabilities of AI Agents when migrating enterprise Java applications, covering Jakarta EE, Quarkus and Spring frameworks while preserving functionality, idiomatic patterns and architectural integrity.
创建时间:
2026-03-17
原始信息汇总
ScarfBench 数据集概述
数据集简介
Scarf(Self-Contained Application Refactoring)是一个基准测试套件,用于评估AI智能体在企业级Java应用程序(在Jakarta EE、Quarkus和Spring框架之间)迁移过程中,保持功能、惯用模式和架构完整性的能力。
数据集规模
| 类别 | 数量 |
|---|---|
| 应用程序 | 102 |
| 架构层 | 6 |
| 框架 | 3 |
| 测试 | 1,331 |
所有应用程序均已由经验丰富的开发人员手动转换和验证。
发布版本
| 版本 | 发布日期 | 描述 |
|---|---|---|
| v0.1.2 | 2026-03-25 | 标准化所有Dockerfile以使用框架原生的运行命令 |
| v0.1.1 | 2026-03-24 | 整合多模块咖啡店应用为单模块以实现跨框架的严格架构对等;更新PetClinic的Dockerfile |
| v0.1.0 | 2026-03-19 | 初始版本——包含5个架构层、3个框架的87个聚焦示例,以及15个完整应用程序变体 |
基准测试应用程序
迁移路径
| 源框架 | 目标框架 |
|---|---|
| Jakarta EE | Quarkus |
| Jakarta EE | Spring |
| Quarkus | Spring |
| Spring | Quarkus |
聚焦示例(按架构层)
| 层 | 描述 |
|---|---|
| 业务领域 | 有状态、无状态和单例EJB |
| 依赖注入 | CDI限定符、拦截器、装饰器、生产者方法、事件观察器 |
| 基础设施 | 托管执行器、异步EJB、计时器服务 |
| 集成 | Jakarta Batch、JMS、消息驱动Bean、JAX-WS、JCA |
| 持久化 | JPA实体、关系、复合键、JPQL查询 |
| 表示层 | Servlet、JAX-RS、WebSocket、SSE、文件上传、过滤器 |
| 安全 | 身份存储、表单/基本认证、EJB安全、RBAC、密码哈希 |
完整应用程序
| 应用程序 | 描述 |
|---|---|
| CargoTracker | 采用领域驱动设计的货物运输跟踪器,包含Jakarta Faces、CDI、JPA、REST、Batch和JMS |
| Coffee Shop | 通过Apache Kafka和MicroProfile实现的事件驱动微服务 |
| DayTrader | 具有JPA乐观锁和事务管理的高性能股票交易基准 |
| PetClinic | 使用Jakarta Faces和复杂JPA关系的兽医诊所管理系统 |
| RealWorld | Medium.com克隆,包含MicroProfile JWT、JAX-RS和Testcontainers集成测试 |
引用信息
- 标题: ScarfBench: A Benchmark for AI-Driven Enterprise Java Framework Migration
- 作者: Krishna, Rahul; McGinn, Bridget; Pavuluri, Raju
- 年份: 2026
- 访问地址: https://scarfbench.info
联系方式
| 姓名 | 邮箱 |
|---|---|
| Rahul Krishna | imralk+oss@gmail.com |
| Bridget McGinn | bridget.mcginn@ibm.com |
| Raju Pavuluri | pavuluri@us.ibm.com |
许可
详见项目中的LICENSE文件。
搜集汇总
数据集介绍

构建方式
在软件工程领域,企业级Java应用框架迁移是一项复杂且关键的任务,Scarfbench数据集的构建旨在为此提供标准化的评估基准。该数据集精心选取了102个涵盖业务域、依赖注入、基础设施、集成、持久化、表示层和安全等六个核心层次的Java应用,并覆盖了Jakarta EE、Quarkus和Spring三大主流框架。每个应用均由经验丰富的开发人员手工完成跨框架的转换与功能验证,确保了迁移结果的准确性与可靠性,从而为评估智能体在保持功能、惯用模式和架构完整性方面的能力奠定了坚实基础。
特点
作为专注于自包含应用重构的基准测试套件,Scarfbench展现出多维度、高保真的显著特点。数据集不仅提供了涵盖七种技术层的聚焦示例,还包含了五个完整的真实世界应用程序变体,如CargoTracker和DayTrader,这些应用模拟了复杂的业务场景。其核心在于定义了从Jakarta EE到Quarkus或Spring等四条明确的迁移路径,并配备了总计1331个测试用例,为量化评估智能体在代码转换、模式适配及架构一致性方面的性能提供了全面且精细的度量标准。
使用方法
对于希望利用Scarfbench进行研究的开发者或团队,其使用流程清晰而高效。用户可通过官方提供的快速入门指南和安装说明,在本地或容器化环境中部署基准测试套件。数据集鼓励研究者构建自主的AI智能体,按照指定的迁移路径对目标应用进行自动化重构,随后运行内置的测试套件以验证功能完整性。评估结果可提交至官方排行榜,从而实现与全球范围内其他解决方案的横向性能比较与客观评估。
背景与挑战
背景概述
在人工智能与软件工程交叉领域,自动化代码迁移与重构正成为提升开发效率的关键研究方向。Scarfbench(自包含应用重构基准)由Rahul Krishna、Bridget McGinn与Raju Pavuluri等研究人员于2026年创建,旨在系统评估AI智能体在企业级Java应用框架间迁移的能力。该基准聚焦于Jakarta EE、Quarkus与Spring三大主流框架的转换,核心研究问题在于如何确保迁移过程中功能完整性、惯用模式与架构一致性的保持。通过涵盖102个应用、6个架构层次及1331项测试的多样化案例,Scarfbench为智能代码重构工具提供了严谨的评估标准,对推动企业软件现代化进程具有重要影响力。
当前挑战
Scarfbench所针对的领域挑战在于企业Java应用框架迁移的复杂性,这涉及不同框架在依赖注入、持久化、安全等层面的语义差异与架构范式转换。构建过程中的主要挑战包括确保迁移案例的功能等效性,需由经验丰富的开发者进行人工转换与验证以建立可靠基准;同时,维持多框架间严格的架构对等性也是一项艰巨任务,例如将多模块应用整合为单一Maven模块以实现跨框架一致性。此外,基准需涵盖从业务域到安全层的全栈迁移场景,并设计可复现的标准化测试流程,这对数据集的结构设计与质量控制提出了极高要求。
常用场景
经典使用场景
在软件工程与人工智能交叉领域,Scarfbench数据集为评估AI代理在企业级Java应用迁移任务中的能力提供了标准化基准。该数据集涵盖了从Jakarta EE到Quarkus、Spring等主流框架的迁移路径,包含102个应用程序、6个架构层次及1331项测试用例。其经典使用场景在于系统化衡量AI代理在保持功能完整性、遵循惯用模式与维护架构一致性方面的表现,为研究者提供了可重复、可比较的实验环境,从而推动自动化代码重构技术的进步。
实际应用
在实际工业场景中,Scarfbench数据集为企业和开发团队提供了评估与优化自动化迁移工具的重要依据。借助该数据集,组织能够系统测试AI驱动迁移方案在真实业务系统(如货运跟踪、股票交易、诊所管理等应用)中的可行性与稳定性。这不仅降低了传统手动迁移的成本与风险,还为框架升级、云原生转型及技术栈统一等工程实践提供了数据支撑,助力企业实现高效、可靠的现代化软件架构演进。
衍生相关工作
围绕Scarfbench数据集,已衍生出一系列聚焦于智能代码迁移与框架适配的经典研究工作。这些工作主要探索基于大语言模型的迁移代理设计、跨框架代码语义保持技术,以及迁移质量自动化评估方法。数据集提供的标准化任务与排行榜机制,进一步激发了学术界在程序分析、代码生成与软件重构等方向的创新,推动了如迁移模式学习、缺陷预测及架构一致性验证等相关课题的深入发展,形成了持续演进的研究生态。
以上内容由遇见数据集搜集并总结生成



