Articles

Discover insights, best practices, and real-world experiences from the migration engineering community. Learn from experts who have successfully transformed codebases of all sizes.

In the previous article, we evaluated using a large language model (LLM) to modify a single YAML file for updating Kubernetes configuration. In that case, the most advanced LLMs performed well with Java refactoring tasks.

Vlad LezhninatMorph
June 27, 2025

Large Language Models (LLMs) have proven to be powerful tools for boosting developer productivity. From rapid prototyping and code suggestions to lightweight code reviews and even implementing simple configuration updates.

Vlad LezhninatMorph
June 12, 2025

A comprehensive benchmark for assessing large language models' capabilities in code migration across 922 examples covering 19 Python and Java packages. The study found an average pass@1 rate of 26.50%, with GPT-4O achieving the highest score at 43.84%.

Keyuan Cheng, Xudong Shen, Yihao Yang, Tengyue Wang, Yang Cao, Muhammad Asif Ali, Hanbin Wang, Lijie Hu, Di Wang
June 1, 2025

In software development, keeping your code up-to-date with the latest libraries and APIs is both crucial and frustrating — especially in large-scale organizations. How Lyft built their codemod platform to automate code upgrades and reduce developer friction.

Anatolii (Nate) KurochkinatLyft
April 30, 2025

A comprehensive study of 39 code migrations over 12 months at Google using Large Language Models. The research found that 74.45% of code changes and 69.46% of edits were generated by LLMs, with developers reporting high satisfaction and a 50% reduction in migration time.

Celal Ziftci, Stoyan Nikolov, Anna Sjövall, Bo Kim, Daniele Codecasa, Max KimatGoogle
April 13, 2025

As organizations race to modernize legacy codebases, many are turning to Large Language Models as a potential silver bullet — only to discover that repository-level translation remains a challenge. This article explores why general-purpose LLMs fall short and what specialized approaches will succeed.

Joe El Khoury
April 3, 2025

How Airbnb migrated nearly 3.5K Enzyme test files to React Testing Library in just 6 weeks using automation and LLMs. Airbnb's first large-scale, LLM-driven code migration project.

Charles Covey-BrandtatAirbnb
March 13, 2025

A research paper introducing a two-step translation process for migrating entire code repositories from Java to C#, addressing challenges in maintaining inter-module coherence and dependencies. The framework includes fine-grained evaluation metrics for assessing translation quality at the individual test case level.

Xing Zhang, et al.
January 27, 2025

A comprehensive guide on using LLMs for code translation and repository-level tasks, discussing state-of-the-art methods and practical tips. The article explores how LLMs are transforming software engineering and tackling complex repository-level challenges for businesses.

Joe El Khoury
July 30, 2024

Exploring large-scale refactoring techniques for making consistent changes across multiple software projects. Discusses tools, benefits, challenges, and strategies for refactoring code across different repositories to improve code quality and reduce technical debt.

Klaus Häuptle
June 4, 2023

Spotify's approach to fleet-wide refactoring using tools like Fleetshift for automated code transformations, centralized dependency management (Java BOM), and an automerger system to make changes across thousands of Git repositories at scale.

Matt BrownatSpotify
May 15, 2023

Spotify's transition to a declarative infrastructure approach using Kubernetes custom resources and operators to manage hundreds of thousands of cloud resources across tens of thousands of services at scale during their migration from on-premise to Google Cloud Platform.

David Flemström, Alexander BuckatSpotify
May 3, 2023

How Spotify shifted from squad-first to fleet-first mindset, performing 10,000 small automated changes instead of 10 major upgrades annually, reducing developer toil and improving software maintenance at scale.

Niklas GustavssonatSpotify
April 18, 2023

Have you ever needed to change many repositories at once? How about 271 of them? It usually takes hours, probably even days, to update all repositories to the new version of a library or add a new configuration - until you automate it.

Javi GómezatTypeform
October 19, 2022

Uber's open source tool Piranha automatically deletes stale feature flag code by analyzing abstract syntax trees and generating refactoring diffs. The tool has helped Uber remove around 2,000 stale feature flags and supports Java, Swift, and Objective-C with ongoing work on a polyglot version.

Uber EngineeringatUber
May 1, 2020