Automating Language Migration at Scale: Tools, Tradeoffs, and the Role of AI
summary
Meta builds a 250-step Kotlinator that combines a headless IntelliJ converter with AST transforms in Editus, JetBrains PSI parsing, Buck-aware symbol resolution, and a Java compiler plugin that logs runtime nullability; this pipeline converts 13M Java lines so far (repo grew from ~20M to ~30M), ships ~60k conversion diffs, runs most transforms in seconds, prefers fail‑fast obvious fixes over subtle ones, uses AI only for niche build‑fixes, and plans another ~5M-line push this year.
AI-written summary · about
chapters (7)
- 0:00Project context and goals
- 2:14Challenges in migration
- 5:58Building the tooling
- 13:25Hybrid static analysis
- 15:05Integrating AI assistance
- 19:03AI workflow and guardrails
- 22:53Future impact and outlook
related talks
42mKotlin Adoption in the Giant Java Application
28mCode Merging Using Transformations and Member Identity
13mMajor migrations made easy
28mAI Migration at SCALE: Make Complex Code Tasks 10X Faster (The Blueprint)
15mMajor migrations made easy
35mMigration without Migraines: Automatic Migration at Scale
01h 00mLarge-Scale Changes at Google: Lessons Learned From 5 Yrs of Mass Migrations
45mTrusting AI to Modernize Software at Scale
