What changed from v1: v1.1 runs every model on the Pi agent harness instead of mini-SWE-agent, and grades against revised hidden test suites. The tasks are the same, but scores are not directly comparable to Code Migration v1.
Background
Translating a working program from one language to another is a costly, high-stakes engineering task, whether porting a tool to a new ecosystem or modernizing legacy systems written in languages that are increasingly hard to staff.
COBOL-to-Java migration carries real economic weight: decades-old COBOL still runs core transaction systems at many of the world’s largest banks, insurers, and government agencies. These institutions are spending heavily on multi-year programs to modernize that code onto maintainable languages like Java. The work is slow, risky, and exactly the kind of task reliable automation could transform.
Migration between modern languages matters too, driven by the pursuit of better runtime performance, richer tooling and ecosystems, or the memory-safety guarantees of a language like Rust.
Code Migration measures how well today’s frontier models can automate both kinds of work (modernizing legacy COBOL to Java, and translating between modern languages) by taking an existing program and faithfully reproducing its behavior in the target language.
Results
Accuracy vs. Cost
Claude Sonnet 5.5 leads at 86.9% for about $44 per test, ahead of Claude Opus 5.5 (81.0%, about $72) and GPT-6 Astra (80.6%, about $62). GPT-6.1 Sol reaches 77.3% for under $10 per test, roughly a seventh of Opus 5.5’s cost. DeepSeek V4.1 Flash 1017 reaches 67.5% for under $2 per test, within about 3 points of Gemini 4 Argon (70.8%) at roughly a twenty-fifth of its cost. Further down, MiMo V2.6 Pro reaches about 49% and GPT-6 Luna about 47%, both for under $1 per test.
Correctness vs. Code Quality
Passing hidden tests and writing clean code are related but distinct: the strongest test-passers are not always the highest-rated implementations. Claude Haiku 5.5 has the highest code-quality rating (4.12 out of 5) while passing 42.1% of CLI hidden tests.
Difficulty by Target Language
The chart groups hidden-test pass rate by target language, with one bar per model in each group. Mean pass rates range from 39.84% on Rust to 47.56% on Python, with Java (42.32%), C++ (41.81%), and Kotlin (40.62%) between them. The strongest target varies by model: the Claude models do best on Python (Sonnet 5.5 at 86.19%), while GPT-6 Astra and GPT-6.1 Sol do best on C++ (80.14% and 80.80%).
Behavioral Test Pass-Rate Distribution
This graph shows how models perform at different hidden-test pass-rate thresholds. A threshold of 80%, for example, counts a task as resolved only if the rebuilt program passes at least 80% of its hidden behavior tests; a threshold of 100% requires reproducing the tested behavior exactly. The steeper a model’s drop-off near the high thresholds, the more all-or-nothing its migrations.
On the CLI split, Claude Sonnet 5.5 clears at least half of a task’s hidden tests on 109 of the 120 migrations, followed by Claude Opus 5.5 and GPT-6 Astra on 99 each and GPT-6.1 Sol on 96. At 100%, Opus 5.5 fully reproduces 18 CLI tasks and Sonnet 5.5 15; no other model fully resolves more than 4, and GPT-6 Astra resolves none.
Methodology
Every task runs the same way. The model works in an offline sandbox with the source program and task instructions, and submits a target-language implementation plus a Dockerfile. The grader builds that image and runs a hidden behavior-test suite the model never sees. Before scoring, a separate anti-cheat checker inspects each submission and zeroes any that wrap the original executable, copy reference artifacts, or hardcode expected outputs. It also verifies that the submission is actually written in the requested target language, so a model cannot pass by leaving the program in its source language.
The CLI split is 30 open-source repositories spanning Python, Java, Kotlin, Rust, and C++. Each is migrated into its four non-source target languages (120 scored repository-language migrations in all), and every migration is graded against a hidden suite of roughly 100 to 400 behavior tests, exercised through the program’s command-line interface. The COBOL split is a 10-repository COBOL-to-Java test set (a mix of open-source COBOL programs and synthetic operational systems built for the benchmark) that stresses file formats, batch workflows, terminal interfaces, and persistent state.
The headline score is hidden-test pass rate. A CLI repository’s score is the average across its four target languages, so all 30 repositories count equally despite the language fan-out. The Overall score keeps every source repository equally weighted, which gives the CLI split (30 repositories) three times the weight of COBOL (10). Code quality is reported as a separate diagnostic (a reviewer rating of readability, documentation, structure, and idiomatic style) and never affects the pass-rate score.