Swiss News Hub
No Result
View All Result
  • Business
    • Business Growth & Leadership
    • Corporate Strategy
    • Entrepreneurship & Startups
    • Global Markets & Economy
    • Investment & Stocks
  • Health & Science
    • Biotechnology & Pharma
    • Digital Health & Telemedicine
    • Scientific Research & Innovation
    • Wellbeing & Lifestyle
  • Marketing
    • Advertising & Paid Media
    • Branding & Public Relations
    • SEO & Digital Marketing
    • Social Media & Content Strategy
  • Economy
    • Economic Development
    • Global Trade & Geopolitics
    • Government Regulations & Policies
  • Sustainability
    • Climate Change & Environmental Policies
    • Future of Work & Smart Cities
    • Renewable Energy & Green Tech
    • Sustainable Business Practices
  • Technology & AI
    • Artificial Intelligence & Automation
    • Big Data & Cloud Computing
    • Blockchain & Web3
    • Cybersecurity & Data Privacy
    • Software Development & Engineering
  • Business
    • Business Growth & Leadership
    • Corporate Strategy
    • Entrepreneurship & Startups
    • Global Markets & Economy
    • Investment & Stocks
  • Health & Science
    • Biotechnology & Pharma
    • Digital Health & Telemedicine
    • Scientific Research & Innovation
    • Wellbeing & Lifestyle
  • Marketing
    • Advertising & Paid Media
    • Branding & Public Relations
    • SEO & Digital Marketing
    • Social Media & Content Strategy
  • Economy
    • Economic Development
    • Global Trade & Geopolitics
    • Government Regulations & Policies
  • Sustainability
    • Climate Change & Environmental Policies
    • Future of Work & Smart Cities
    • Renewable Energy & Green Tech
    • Sustainable Business Practices
  • Technology & AI
    • Artificial Intelligence & Automation
    • Big Data & Cloud Computing
    • Blockchain & Web3
    • Cybersecurity & Data Privacy
    • Software Development & Engineering
No Result
View All Result
Swiss News Hub
No Result
View All Result
Home Technology & AI Software Development & Engineering

Accelerating Giant-Scale Check Migration with LLMs | by Charles Covey-Brandt | The Airbnb Tech Weblog | Mar, 2025

swissnewshub by swissnewshub
4 May 2025
Reading Time: 15 mins read
0
Accelerating Giant-Scale Check Migration with LLMs | by Charles Covey-Brandt | The Airbnb Tech Weblog | Mar, 2025

RELATED POSTS

Load Testing with Impulse at Airbnb | by Chenhao Yang | The Airbnb Tech Weblog | Jun, 2025

Autonomous coding brokers: A Codex instance

Refactoring with Codemods to Automate API Modifications


Charles Covey-Brandt

By: Charles Covey-Brandt

Airbnb just lately accomplished our first large-scale, LLM-driven code migration, updating almost 3.5K React part check information from Enzyme to make use of React Testing Library (RTL) as an alternative. We’d initially estimated this might take 1.5 years of engineering time to do by hand, however — utilizing a mixture of frontier fashions and strong automation — we completed the whole migration in simply 6 weeks.

On this weblog put up, we’ll spotlight the distinctive challenges we confronted migrating from Enzyme to RTL, how LLMs excel at fixing this specific sort of problem, and the way we structured our migration tooling to run an LLM-driven migration at scale.

In 2020, Airbnb adopted React Testing Library (RTL) for all new React part check growth, marking our first steps away from Enzyme. Though Enzyme had served us effectively since 2015, it was designed for earlier variations of React, and the framework’s deep entry to part internals now not aligned with trendy React testing practices.

Nonetheless, due to the basic variations between these frameworks, we couldn’t simply swap out one for the opposite (learn extra in regards to the variations right here). We additionally couldn’t simply delete the Enzyme information, as evaluation confirmed this might create important gaps in our code protection. To finish this migration, we wanted an automatic strategy to refactor check information from Enzyme to RTL whereas preserving the intent of the unique exams and their code protection.

In mid-2023, an Airbnb hackathon crew demonstrated that giant language fashions might efficiently convert tons of of Enzyme information to RTL in just some days.

Constructing on this promising consequence, in 2024 we developed a scalable pipeline for an LLM-driven migration. We broke the migration into discrete, per-file steps that we might parallelize, added configurable retry loops, and considerably expanded our prompts with further context. Lastly, we carried out breadth-first immediate tuning for the lengthy tail of complicated information.

We began by breaking down the migration right into a collection of automated validation and refactor steps. Consider it like a manufacturing pipeline: every file strikes by way of phases of validation, and when a test fails, we deliver within the LLM to repair it.

We modeled this move like a state machine, transferring the file to the following state solely after validation on the earlier state handed:

Diagram reveals refactor steps from Enzyme refactor, fixing Jest, fixing lint and tsc, and marking file as full.

This step-based strategy supplied a strong basis for our automation pipeline. It enabled us to trace progress, enhance failure charges for particular steps, and rerun information or steps when wanted. The step-based strategy additionally made it easy to run migrations on tons of of information concurrently, which was vital for each rapidly migrating easy information, and chipping away on the lengthy tail of information later within the migration.

Early on within the migration, we experimented with totally different immediate engineering methods to enhance our per-file migration success fee. Nonetheless, constructing on the stepped strategy, we discovered the simplest route to enhance outcomes was merely brute drive: retry steps a number of occasions till they handed or we reached a restrict. We up to date our steps to make use of dynamic prompts for every retry, giving the validation errors and the newest model of the file to the LLM, and constructed a loop runner that ran every step as much as a configurable variety of makes an attempt.

Diagram of a retry loop. For a given step N, if the file has errors, we retry validation and try to repair errors except we hit the max retries or the file now not accommodates errors.

With this easy retry loop, we discovered we might efficiently migrate a lot of our simple-to-medium complexity check information, with some ending efficiently after a number of retries, and most by 10 makes an attempt.

For check information as much as a sure complexity, simply growing our retry makes an attempt labored effectively. Nonetheless, to deal with information with intricate check state setups or extreme indirection, we discovered one of the best strategy was to push as a lot related context as potential into our prompts.

By the tip of the migration, our prompts had expanded to wherever between 40,000 to 100,000 tokens, pulling in as many as 50 associated information, a complete host of manually written few-shot examples, in addition to examples of current, well-written, passing check information from inside the identical mission.

Every immediate included:

  • The supply code of the part below check
  • The check file we had been migrating
  • Validation failures for the step
  • Associated exams from the identical listing (sustaining team-specific patterns)
  • Basic migration pointers and customary options

Right here’s how that seemed in follow (considerably trimmed down for readability):

// Code instance reveals a trimmed down model of a immediate 
// together with the uncooked supply code from associated information, imports,
// examples, the part supply itself, and the check file emigrate.

const immediate = [
'Convert this Enzyme test to React Testing Library:',
`SIBLING TESTS:n${siblingTestFilesSourceCode}`,
`RTL EXAMPLES:n${reactTestingLibraryExamples}`,
`IMPORTS:n${nearestImportSourceCode}`,
`COMPONENT SOURCE:n${componentFileSourceCode}`,
`TEST TO MIGRATE:n${testFileSourceCode}`,
].be a part of('nn');

This wealthy context strategy proved extremely efficient for these extra complicated information — the LLM might higher perceive team-specific patterns, widespread testing approaches, and the general structure of the codebase.

We must always word that, though we did some immediate engineering at this step, the principle success driver we noticed was selecting the proper associated information (discovering close by information, good instance information from the identical mission, filtering the dependencies for information that had been related to the part, and many others.), reasonably than getting the immediate engineering good.


Support authors and subscribe to content

This is premium stuff. Subscribe to read the entire article.

Login if you have purchased

Subscribe

Gain access to all our Premium contents.
More than 100+ articles.
Subscribe Now

Buy Article

Unlock this article and gain permanent access to read it.
Unlock Now
Tags: AcceleratingAirbnbBlogCharlesCoveyBrandtLargescaleLLMsMarMigrationTechtest
ShareTweetPin
swissnewshub

swissnewshub

Related Posts

Load Testing with Impulse at Airbnb | by Chenhao Yang | The Airbnb Tech Weblog | Jun, 2025
Software Development & Engineering

Load Testing with Impulse at Airbnb | by Chenhao Yang | The Airbnb Tech Weblog | Jun, 2025

10 June 2025
Autonomous coding brokers: A Codex instance
Software Development & Engineering

Autonomous coding brokers: A Codex instance

5 June 2025
Refactoring with Codemods to Automate API Modifications
Software Development & Engineering

Refactoring with Codemods to Automate API Modifications

2 June 2025
Refactoring with Codemods to Automate API Modifications
Software Development & Engineering

Refactoring with Codemods to Automate API Modifications

1 June 2025
Rising the Improvement Forest 🌲 — with Martin Fowler
Software Development & Engineering

Rising the Improvement Forest 🌲 — with Martin Fowler

31 May 2025
Listening, Studying, and Serving to at Scale: How Machine Studying Transforms Airbnb’s Voice Help Expertise | by Yuanpei Cao | The Airbnb Tech Weblog | Could, 2025
Software Development & Engineering

Listening, Studying, and Serving to at Scale: How Machine Studying Transforms Airbnb’s Voice Help Expertise | by Yuanpei Cao | The Airbnb Tech Weblog | Could, 2025

30 May 2025
Next Post
Keep away from the Telehealth Cliff, Half 2

Keep away from the Telehealth Cliff, Half 2

Lamont-Doherty Mourns IT Exec and Entrepreneur Edward Botwinick BS’58 – State of the Planet

Lamont-Doherty Mourns IT Exec and Entrepreneur Edward Botwinick BS’58 – State of the Planet

Recommended Stories

Worldwide Improvement Report on Monetary Indicators in 164 international locations in 12 months 2021

Worldwide Improvement Report on Monetary Indicators in 164 international locations in 12 months 2021

2 May 2025
Webinar: Why clear building doesn’t equal expensive building

Webinar: Why clear building doesn’t equal expensive building

15 May 2025
The Way forward for B2B Digital Commerce: Tendencies and Methods for 2025 and Past

The Way forward for B2B Digital Commerce: Tendencies and Methods for 2025 and Past

24 May 2025

Popular Stories

  • The politics of evidence-informed coverage: what does it imply to say that proof use is political?

    The politics of evidence-informed coverage: what does it imply to say that proof use is political?

    0 shares
    Share 0 Tweet 0
  • 5 Greatest websites to Purchase Twitter Followers (Actual & Immediate)

    0 shares
    Share 0 Tweet 0

About Us

Welcome to Swiss News Hub —your trusted source for in-depth insights, expert analysis, and up-to-date coverage across a wide array of critical sectors that shape the modern world.
We are passionate about providing our readers with knowledge that empowers them to make informed decisions in the rapidly evolving landscape of business, technology, finance, and beyond. Whether you are a business leader, entrepreneur, investor, or simply someone who enjoys staying informed, Swiss News Hub is here to equip you with the tools, strategies, and trends you need to succeed.

Categories

  • Advertising & Paid Media
  • Artificial Intelligence & Automation
  • Big Data & Cloud Computing
  • Biotechnology & Pharma
  • Blockchain & Web3
  • Branding & Public Relations
  • Business & Finance
  • Business Growth & Leadership
  • Climate Change & Environmental Policies
  • Corporate Strategy
  • Cybersecurity & Data Privacy
  • Digital Health & Telemedicine
  • Economic Development
  • Entrepreneurship & Startups
  • Future of Work & Smart Cities
  • Global Markets & Economy
  • Global Trade & Geopolitics
  • Government Regulations & Policies
  • Health & Science
  • Investment & Stocks
  • Marketing & Growth
  • Public Policy & Economy
  • Renewable Energy & Green Tech
  • Scientific Research & Innovation
  • SEO & Digital Marketing
  • Social Media & Content Strategy
  • Software Development & Engineering
  • Sustainability & Future Trends
  • Sustainable Business Practices
  • Technology & AI
  • Uncategorised
  • Wellbeing & Lifestyle

Recent News

  • Clear Alerts Make It Simpler to Do the Proper Issues
  • CIO Recruitment Traits
  • Load Testing with Impulse at Airbnb | by Chenhao Yang | The Airbnb Tech Weblog | Jun, 2025
  • Scientists Urge NIH Director to Restore Analysis Grants Halted by Trump Administration
  • Cottage Cheese Breakfast Biscuits – Match Foodie Finds

© 2025 www.swissnewshub.ch - All Rights Reserved.

No Result
View All Result
  • Business
    • Business Growth & Leadership
    • Corporate Strategy
    • Entrepreneurship & Startups
    • Global Markets & Economy
    • Investment & Stocks
  • Health & Science
    • Biotechnology & Pharma
    • Digital Health & Telemedicine
    • Scientific Research & Innovation
    • Wellbeing & Lifestyle
  • Marketing
    • Advertising & Paid Media
    • Branding & Public Relations
    • SEO & Digital Marketing
    • Social Media & Content Strategy
  • Economy
    • Economic Development
    • Global Trade & Geopolitics
    • Government Regulations & Policies
  • Sustainability
    • Climate Change & Environmental Policies
    • Future of Work & Smart Cities
    • Renewable Energy & Green Tech
    • Sustainable Business Practices
  • Technology & AI
    • Artificial Intelligence & Automation
    • Big Data & Cloud Computing
    • Blockchain & Web3
    • Cybersecurity & Data Privacy
    • Software Development & Engineering

© 2025 www.swissnewshub.ch - All Rights Reserved.

Are you sure want to unlock this post?
Unlock left : 0
Are you sure want to cancel subscription?