ReCode: Improving LLM-based Code Repair with Fine-Grained Retrieval-Augmented Generation

2509.02330v1 cs.SE, cs.AI 2025-09-05
Авторы:

Yicong Zhao, Shisong Chen, Jiacheng Zhang, Zhixu Li

Резюме на русском

#### Контекст Программное обеспечение широко используется во всех сферах жизнедеятельности, но часто имеет ошибки, которые требуют исправления. Автоматическое исправление ошибок в программном коде — это важная задача, которая помогает сократить время и ресурсы, необходимые для поддержки программного обеспечения. Несмотря на развитие глубокого обучения, существующие системы для автоматического исправления ошибок в коде страдают от высоких затрат на обучение и дорогостоящих вычислений при интерпретации. Одновременно, методы с ретриев-аугментированным генерированием (RAG) показали себя как эффективная альтернатива, но их недостаток в том, что они недостаточно учитывают структуру программного кода. Мотивируясь этим, мы разрабатываем ReCode — систему, которая улучшает точность исправления ошибок в коде с помощью лучшего взаимодействия между поиском и генерацией. #### Метод ReCode представляет собой новую систему, которая использует тонкое взаимодействие во взаимодополняющихся энкодерах. Один из энкодеров оперирует с кодом, получая структуру кода, а другой — с текстовыми элементами, такими как описания проблем. Эти два механизма работают вместе, чтобы оптимизировать поиск и сравнивать входные данные с обученным контекстом. Мы также внедрили стратегию приемлемого поиска, которая использует предсказания типа алгоритма, чтобы сузить потенциальные варианты исправления. Эта стратегия позволяет уменьшить размер пространства поиска и увеличить точность нахождения подходящих решений. Модель обучается на использовании реальных задач исправления ошибок, чтобы она могла применяться в реальных условиях. #### Результаты Мы проверили ReCode на наборах данных, включая реальные задачи исправления ошибок, полученные из поведения реальных пользователей. Наши эксперименты показали, что ReCode показывает значительное улучшение в точности исправления ошибок в сравнении с другими моделями. Она смогла исправить больше ошибок с меньшими затратами на вычисления и более эффективным использованием ретриева-аугментированной генерации. Эти результаты подтверждают, что ReCode эффективна в реальных условиях и может применяться для решения реальных проблем в автоматическом исправлении ошибок в коде. #### Значимость ReCode может быть применена в различных областях, таких как разработка программного обеспечения, мобильные приложения и интернет-приложения, где необходимо быстро исправлять и улучшать код. Эта система демонстрирует значительное улучшение в сравнении с другими моделями в своей способности быстро и точно устранять ошибки. Это может существенно снизить затраты на ручное исправление ошибок и улучшить про

Abstract

Recent advances in large language models (LLMs) have demonstrated impressive capabilities in code-related tasks, such as code generation and automated program repair. Despite their promising performance, most existing approaches for code repair suffer from high training costs or computationally expensive inference. Retrieval-augmented generation (RAG), with its efficient in-context learning paradigm, offers a more scalable alternative. However, conventional retrieval strategies, which are often based on holistic code-text embeddings, fail to capture the structural intricacies of code, resulting in suboptimal retrieval quality. To address the above limitations, we propose ReCode, a fine-grained retrieval-augmented in-context learning framework designed for accurate and efficient code repair. Specifically, ReCode introduces two key innovations: (1) an algorithm-aware retrieval strategy that narrows the search space using preliminary algorithm type predictions; and (2) a modular dual-encoder architecture that separately processes code and textual inputs, enabling fine-grained semantic matching between input and retrieved contexts. Furthermore, we propose RACodeBench, a new benchmark constructed from real-world user-submitted buggy code, which addresses the limitations of synthetic benchmarks and supports realistic evaluation. Experimental results on RACodeBench and competitive programming datasets demonstrate that ReCode achieves higher repair accuracy with significantly reduced inference cost, highlighting its practical value for real-world code repair scenarios.

Ссылки и действия