RepoRescue: Een empirische studie van LLM-agenten voor compatibiliteitsherstel van de gehele repository
RepoRescue: An Empirical Study of LLM Agents on Whole-Repository Compatibility Rescue
July 1, 2026
Auteurs: Zhihao Lin, Mingyi Zhou, Zhensu Sun, Yizhuo Yang, Renyu Yang, David Lo, Li Li
cs.AI
Samenvatting
Open-sourcebibliotheken en -tools worden veelvuldig hergebruikt, maar compatibiliteitsonderhoud is duur. Wanneer beheerders vertrekken, kunnen nuttige repositories stoppen met werken naarmate runtimes en afhankelijkheden evolueren. We bestuderen of LLM-agents oude repositories kunnen aanpassen aan moderne omgevingen, een taak die we compatibiliteitsredding noemen. In tegenstelling tot bugreparatie start compatibiliteitsredding vanuit een repository die in zijn oorspronkelijke omgeving werkte, maar faalt na ecosysteemverschuiving. RepoRescue geeft agents alleen de repository en zijn falende moderne omgeving; de agent moet de fout diagnosticeren, getroffen code lokaliseren en een broncode-redding produceren die de historische testsuite herstelt. We bouwen RepoRescue uit 193 Python- en 122 Java-repositories, elk geverifieerd om historisch te slagen en te falen na modernisering. We evalueren vijf geïmplementeerde agentsystemen op Python en drie op Java. Naast de volledige-patch-slaagratio voeren we patches opnieuw uit na het verwijderen van testbestandbewerkingen om broncode-only reparatie te meten, voegen we een runtime-afgedwongen regime toe dat testbewerkingen blokkeert, en valideren we praktisch gebruik voor repositories waarvan de suites slagen na redding. We vinden dat Claude Code-systemen soms falende tests bewerken, zelfs wanneer daarvan wordt afgezien; met runtime-blokkering redt Kimi nog steeds 41,5% van de repositories. Systemen zijn complementair: hun vereniging bereikt 62,7%, wat het beste enkele systeem met 10,9 punten overtreft. Moeilijkheid concentreert zich in cross-bestand coördinatie: bij 14 repositories die gecoördineerde codebase-brede veranderingen vereisen, slaagt GPT-5.2 via Codex in alle 14, terwijl elk Claude Code-systeem er maximaal twee haalt. Tot slot is een slaagde suite slechts een eerste signaal: van de 34 ononderhouden Python-kandidaten waarvan de suites slagen na redding, werken er 22 in realistische scenario's en slagen er 12 voor bug-hunt met patches die de compatibiliteitsfout aanpakken. RepoRescue benchmarkt compatibiliteitsredding met broncode-only auditing, runtime-afdwinging, praktische validatie en redeneerlabels.
English
Open-source libraries and tools are widely reused, but compatibility maintenance is expensive. Once maintainers leave, useful repositories can stop working as runtimes and dependencies evolve. We study whether LLM agents can adapt old repositories to modern environments, a task we call compatibility rescue. Unlike bug repair, compatibility rescue starts from a repository that worked in its original environment but fails after ecosystem drift. RepoRescue gives agents only the repository and its failing modern environment; the agent must diagnose the failure, locate affected code, and produce a source-code rescue that restores the historical test suite. We build RepoRescue from 193 Python and 122 Java repositories, each verified to pass historically and fail after modernization. We evaluate five deployed agent systems on Python and three on Java. Beyond full-patch pass rate, we rerun patches after removing test-file edits to measure source-only repair, add a runtime-enforced regime that blocks test edits, and validate practical use for repositories whose suites pass after rescue. We find that Claude Code systems sometimes edit failing tests even when prompted not to; with runtime blocking, Kimi still rescues 41.5% of repositories. Systems are complementary: their union reaches 62.7%, exceeding the best single system by 10.9 points. Difficulty concentrates in cross-file coordination: on 14 repositories requiring coordinated whole-codebase changes, GPT-5.2 through Codex passes all 14, while every Claude Code system passes at most two. Finally, a passing suite is only an initial signal: among 34 unmaintained Python candidates whose suites pass after rescue, 22 work in realistic scenarios and 12 pass bug-hunt with patches that address the compatibility failure. RepoRescue benchmarks compatibility rescue with source-only auditing, runtime enforcement, practical validation, and reasoning labels.