Skip to content

MigrationBench

📰 News


Overview

MigrationBench is a large-scale benchmark for repository-level code migration from Java 8 to long-term support versions such as Java 17/21. It also provides an automated and robust framework for evaluating code migration success at the repository level.

Evaluation Criteria

The evaluation approximates functional equivalence by checking:

  1. ✅ Repository builds successfully
  2. ✅ All tests pass
  3. ✅ Compiled classes' major versions match target Java version (e.g. 61 for Java 17)
  4. ✅ Test methods remain invariant after migration
  5. ✅ Number of test cases is non-decreasing
  6. ✅ (Optional) Dependency libraries match their latest major versions

Checkout the paper for more details.

Citation

@article{liu2025migrationbench,
  title={MigrationBench: Repository-Level Code Migration Benchmark from Java 8},
  author={Liu, Linbo and Liu, Xinle and Zhou, Qiang and Chen, Lin and Liu, Yihan and Nguyen, Hoan and Omidvar-Tehrani, Behrooz and Shen, Xi and Huan, Jun and Tripp, Omer and others},
  journal={arXiv preprint arXiv:2505.09569},
  year={2025}
}