JMigBench
收藏资源简介:
JMigBench是由伦敦大学学院团队构建的Java代码迁移基准数据集,专注于评估大语言模型在Java 8至Java 11版本升级中的表现。该数据集包含45个精心筛选的函数对,覆盖8类废弃API,平均函数长度9.69行,数据来源于开源仓库的真实迁移案例和ChatGPT辅助生成的合成样本。通过平衡关键词分布和严格控制函数长度,该数据集有效解决了原始数据中存在的噪声和偏差问题,为评估模型在语法转换、语义保持等细粒度迁移任务中的能力提供了标准化测试平台。
JMigBench is a Java code migration benchmark dataset developed by the research team at University College London, focusing on evaluating the performance of large language models (LLMs) in the upgrade from Java 8 to Java 11. This dataset contains 45 carefully curated function pairs covering 8 categories of deprecated APIs, with an average function length of 9.69 lines. The data is derived from real migration cases in open-source repositories and synthetic samples generated with the assistance of ChatGPT. By balancing keyword distribution and strictly controlling function length, this dataset effectively mitigates the noise and bias issues present in raw data, providing a standardized testbed for evaluating model capabilities in fine-grained migration tasks such as syntax conversion and semantic preservation.
JMigBench 数据集概述
数据集简介
JMigBench 是一个用于评估大型语言模型在真实世界源代码迁移任务(从 Java 8 迁移到 Java 11)上的基准测试套件和评估流水线。
核心目的
- 为评估大型语言模型在迁移 Java 函数(从 Java 8 到 Java 11)任务上的性能提供标准化的数据集、提示与评估流水线及指标。
- 解决企业将遗留 Java 8 代码库迁移到较新长期支持版本(如 Java 11)的需求。
- 支持对大型语言模型在代码迁移任务中的表现进行标准化比较。
数据集内容与结构
主要目录
- /Build_Synthetic_Dataset: 包含使用输入函数 JSON 文件构建合成数据集的脚本。
- /Built_Web_Scraped_Dataset: 包含从 GitHub 网络爬取以构建真实世界函数数据集的脚本。
- /Outputs: 输出可视化结果(SVG 文件)的存储位置。
- /Process_Results: 包含处理结果 pickle 文件并绘制/输出指标的脚本。
- /Prompting_Pipeline: 用于为数据集中的每个函数提示 Mistral API 并存储输出的脚本。
- /Shared_Files: 存放公共文件、实用工具和数据集的目录。
- /Synthetic_Function_Pairs: 包含 45 个合成函数对的目录,每个子目录代表一个方法名,并包含 java8.txt 和 java11.txt 文件。
核心文件
- README.md: 项目说明文件。
- requirements.txt: 包含项目依赖项的文本文件。
技术栈与依赖
- Python 版本: 3.10
- 依赖安装: 通过
pip install -r requirements.txt安装必要依赖。
数据来源与类型
- 合成函数对: 45 对预定义的 Java 8 与 Java 11 函数。
- 真实世界函数: 通过从 GitHub 网络爬取构建的数据集。

- 1JMigBench: A Benchmark for Evaluating LLMs on Source Code Migration (Java 8 to Java 11)伦敦大学学院; 南京大学 · 2026年



