RepoRescue: Um Estudo Empírico de Agentes de LLM no Resgate de Compatibilidade de Repositórios Inteiros
RepoRescue: An Empirical Study of LLM Agents on Whole-Repository Compatibility Rescue
July 1, 2026
Autores: Zhihao Lin, Mingyi Zhou, Zhensu Sun, Yizhuo Yang, Renyu Yang, David Lo, Li Li
cs.AI
Resumo
Bibliotecas e ferramentas de código aberto são amplamente reutilizadas, mas a manutenção de compatibilidade é cara. Quando mantenedores deixam os projetos, repositórios úteis podem parar de funcionar à medida que ambientes de execução e dependências evoluem. Estudamos se agentes de LLM podem adaptar repositórios antigos a ambientes modernos, uma tarefa que chamamos de resgate de compatibilidade. Diferente da correção de bugs, o resgate de compatibilidade parte de um repositório que funcionava em seu ambiente original, mas falha após a deriva do ecossistema. RepoRescue fornece aos agentes apenas o repositório e seu ambiente moderno com falha; o agente deve diagnosticar a falha, localizar o código afetado e produzir um resgate no código-fonte que restaure a suíte de testes histórica. Construímos o RepoRescue a partir de 193 repositórios Python e 122 Java, cada um verificado para passar historicamente e falhar após modernização. Avaliamos cinco sistemas de agentes implantados em Python e três em Java. Além da taxa de aprovação total de patches, reexecutamos os patches removendo edições em arquivos de teste para medir a correção apenas no código-fonte, adicionamos um regime de restrição de tempo de execução que bloqueia edições em testes e validamos o uso prático para repositórios cujas suítes passam após o resgate. Descobrimos que sistemas Claude Code às vezes editam testes com falha mesmo quando instruídos a não fazê-lo; com bloqueio em tempo de execução, Kimi ainda resgata 41,5% dos repositórios. Os sistemas são complementares: sua união atinge 62,7%, superando o melhor sistema individual em 10,9 pontos percentuais. A dificuldade se concentra na coordenação entre arquivos: em 14 repositórios que exigem alterações coordenadas em todo o código-base, o GPT-5.2 via Codex passa em todos os 14, enquanto cada sistema Claude Code passa no máximo dois. Finalmente, uma suíte de testes aprovada é apenas um sinal inicial: entre 34 candidatos Python não mantidos cujas suítes passam após o resgate, 22 funcionam em cenários realistas e 12 passam na caça a bugs, com patches que resolvem a falha de compatibilidade. RepoRescue estabelece um benchmark para resgate de compatibilidade com auditoria apenas no código-fonte, restrição de tempo de execução, validação prática e rótulos de raciocínio.
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.