{
  "post": {
    "title": "AI code migrations: what Airbnb, Google and Amazon actually reported",
    "url": "https://bardak.ai/posts/ai-code-migrations-airbnb-google-amazon",
    "updated": "2026-10-29T18:56:07.744Z"
  },
  "citation": "AI code migrations: what Airbnb, Google and Amazon actually reported, Ivan Bardak, bardak.ai, https://bardak.ai/posts/ai-code-migrations-airbnb-google-amazon",
  "datasets": [
    {
      "key": "three-published-ai-migration-cases",
      "title": "Three published AI migration cases",
      "type": "benchmarkTable",
      "source": "Airbnb engineering blog; Nikolov et al. 2025; Ziftci et al. 2025; AWS DevOps blog, August 2024",
      "caption": "",
      "csv": "https://bardak.ai/data/ai-code-migrations-airbnb-google-amazon/three-published-ai-migration-cases.csv",
      "header": [
        "Case",
        "What moved",
        "Reported result",
        "Type of evidence"
      ],
      "rows": [
        [
          "Airbnb, 2025",
          "About 3,500 React test files from Enzyme to React Testing Library",
          "Done in 6 weeks against a 1.5 engineering-year manual estimate; 97% automated",
          "Engineering blog; effort estimate compared with elapsed time"
        ],
        [
          "Google, 2025 (two papers)",
          "Ads IDs from int32 to int64, JUnit3 to JUnit4, Joda-Time to java.time, and more",
          "About 50% less total time, as estimated by the engineers; 69 to 87% of code from the model, by different measures",
          "Experience reports; the first paper says it is not a research study"
        ],
        [
          "Amazon, 2024",
          "Tens of thousands of production applications from Java 8 or 11 to Java 17",
          "Over 4,500 years of development work saved; $260M a year in infrastructure savings",
          "Company blog and CEO post about its own product; both figures described as estimates"
        ]
      ]
    },
    {
      "key": "airbnb-share-of-files-migrated-by-stage",
      "title": "Airbnb: share of files migrated, by stage",
      "type": "chart",
      "source": "Airbnb, Accelerating Large-Scale Test Migration with LLMs",
      "caption": "Three quarters of the files went through in the first bulk run. The last quarter took most of the effort: four days of tuning, then about a week of manual work for the final hundred files.",
      "csv": "https://bardak.ai/data/ai-code-migrations-airbnb-google-amazon/airbnb-share-of-files-migrated-by-stage.csv",
      "header": [
        "stage",
        "Files migrated"
      ],
      "rows": [
        [
          "First bulk run (4 hours)",
          "75"
        ],
        [
          "Sample tune sweep (4 days)",
          "97"
        ],
        [
          "Manual finish (1 more week)",
          "100"
        ]
      ]
    },
    {
      "key": "airbnb-estimate-against-outcome",
      "title": "Airbnb: estimate against outcome",
      "type": "chart",
      "source": "Airbnb, Accelerating Large-Scale Test Migration with LLMs",
      "caption": "The comparison Airbnb makes: an estimate of 1.5 years of engineering time against 6 weeks of elapsed time. Team size during those weeks is not given, so this is not a like-for-like effort comparison.",
      "csv": "https://bardak.ai/data/ai-code-migrations-airbnb-google-amazon/airbnb-estimate-against-outcome.csv",
      "header": [
        "measure",
        "Weeks"
      ],
      "rows": [
        [
          "Manual estimate (engineering time)",
          "78"
        ],
        [
          "Actual with LLMs (elapsed time)",
          "6"
        ]
      ]
    },
    {
      "key": "google-s-numbers-and-what-each-one-measures",
      "title": "Google's numbers, and what each one measures",
      "type": "benchmarkTable",
      "source": "Nikolov et al. 2025, How is Google using AI for internal code migrations?; Ziftci et al. 2025, Migrating Code At Scale With LLMs At Google",
      "caption": "None of these is a controlled measurement. The 50% figures are the engineers' own estimates against earlier manual work.",
      "csv": "https://bardak.ai/data/ai-code-migrations-airbnb-google-amazon/google-s-numbers-and-what-each-one-measures.csv",
      "header": [
        "Migration",
        "Scope",
        "Number",
        "What it measures"
      ],
      "rows": [
        [
          "int32 to int64 IDs (Ads)",
          "Tens of thousands of code locations",
          "80%",
          "Share of code modifications in landed changes that were fully written by the model"
        ],
        [
          "JUnit3 to JUnit4",
          "5,359 files, over 149,000 lines, 3 months",
          "87%",
          "Share of AI-generated code committed without change"
        ],
        [
          "Joda-Time to java.time",
          "Thousands of occurrences, ongoing",
          "89%",
          "Human time saved in small clusters, as estimated by tech leads"
        ],
        [
          "39 migrations (second paper)",
          "595 changes, 93,574 edits",
          "74.45% / 69.46%",
          "Share of changes and of edits generated by the model"
        ],
        [
          "int32 to int64 and the 39 migrations",
          "As above",
          "About 50%",
          "Reduction in total migration time, as estimated by the engineers"
        ]
      ]
    },
    {
      "key": "what-made-these-migrations-work",
      "title": "What made these migrations work",
      "type": "benchmarkTable",
      "source": "Airbnb engineering blog; Nikolov et al. 2025; Ziftci et al. 2025",
      "caption": "Amazon's post does not describe its pipeline in enough detail to fill in a column.",
      "csv": "https://bardak.ai/data/ai-code-migrations-airbnb-google-amazon/what-made-these-migrations-work.csv",
      "header": [
        "Ingredient",
        "Airbnb",
        "Google"
      ],
      "rows": [
        [
          "An automatic check for every change",
          "Jest, lint and TypeScript gates per file",
          "Builds, tests and AST diffs"
        ],
        [
          "A loop that feeds errors back",
          "Retries with the latest errors, up to 50-100 attempts",
          "Validation with LLM repair"
        ],
        [
          "Context beyond the file",
          "Up to 50 related files and sibling tests",
          "Change location discovery before the model runs"
        ],
        [
          "Humans on the hard tail",
          "About a week for the last 3%",
          "Experts check changes; reviewers set the pace"
        ],
        [
          "Work in small, trackable units",
          "One file per state machine run",
          "Changes sharded to the owning reviewers"
        ]
      ]
    }
  ]
}