SaraCoder: Orchestrating Semantic and Structural Cues for Profit-Oriented Repository-Level Code Completion

2508.10068v1 cs.SE, cs.CL, cs.IR, cs.PL 2025-08-16
Авторы:

Xiaohan Chen, Zhongying Pan, Quan Feng, Yu Tian, Shuqun Yang, Mengru Wang, Lina Gong, Yuxia Geng, Piji Li, Xiang Chen

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

## Контекст Современные системы подсчета кода хорошо успешно решают задачи в локальной области кода, но сталкиваются с рядом проблем при работе на уровне репозитория. Наиболее значимыми проблемами являются следующие: 1. **Semantic misguidance**: Отсутствие глубокого понимания семантических отношений между фрагментами кода приводит к результатам, которые не только не подходят по смыслу, но и порождают нежелательную редундантность и монотонность. 2. **External symbol ambiguity**: Невозможность точно определить внешние символы приводит к ситуациям, когда рекомендации кода не только неудобны, но и могут стать неприемлемыми в контексте задачи. 3. **Text-similarity bias**: Использование только текстовых синтаксических сигналов приводит к ограниченности в результатах и к снижению их качества. `Saracoder` - это система, которая предлагает новый подход к решению этих проблем, ориентируясь на **semantic and structural cues** (семантические и структурные признаки). Эта система использует **Hierarchical Feature Optimization** для активной извлечения и систематического оптимизации результатов поиска, а также **External-Aware Identifier Disambiguator** для решения внешней символьной неоднозначности. ## Метод Проект `Saracoder` основывается на **Hierarchical Feature Optimization**, разработанном для решения проблем семантического и структурного размышления в коде. Методология включает следующие компоненты: 1. **Hierarchical Feature Optimization Module**: - Извлекает глубокие семантические отношения между фрагментами кода. - Выполняет поиск и удаление дубликатов, при этом используя **Novel Graph-Based Metric**, который определяет важность топологических редакций. - Выполняет ре-ранжирование результатов для максимального баланса между **релевантностью** и **разнообразием**. 2. **External-Aware Identifier Disambiguator**: - Улучшает точность поиска и рекомендации кода путем **dependency analysis**. - Обеспечивает решение внешней неоднозначности в символьных связях, работая на уровне **cross-file** и **cross-repository**. Элементы этого фреймворка сочетаются для создания системы, которая не только предлагает более точные рекомендации, но и делает их более уникальными и релевантными в контексте задач репозитория. ## Результаты Работа была проверена на **CrossCodeEval** и **RepoEval-Updated**, крупных датасетах для оценки результатов поиска в коде. Основные результаты: - **Improved relevance and diversity**: Сравнительное тестирование показало, что `Saracoder` превосходит существующие базы, демонстрируя статистически значимую улучшенность показателей качества рекомендаций. - **Addressing external symbol ambiguity**: Тестирование системы показало, что решение внешней символьной неоднозначности (External-Aware Identifier Disambiguator) позволяет повысить точность рекомендаций при работе с внешними символами. - **Cross-Language Performance**: Результаты проверки показали, что `Saracoder` демонстрирует высокую эффе

Abstract

Retrieval-augmented generation (RAG) for repository-level code completion commonly relies on superficial text similarity, leading to results plagued by semantic misguidance, redundancy, and homogeneity, while also failing to resolve external symbol ambiguity. To address these challenges, we introduce Saracoder, a Hierarchical Feature-Optimized retrieval framework. Its core Hierarchical Feature Optimization module systematically refines candidates by distilling deep semantic relationships, pruning exact duplicates, assessing structural similarity with a novel graph-based metric that weighs edits by their topological importance, and reranking results to maximize both relevance and diversity. Furthermore, an External-Aware Identifier Disambiguator module accurately resolves cross-file symbol ambiguity via dependency analysis. Extensive experiments on the challenging CrossCodeEval and RepoEval-Updated benchmarks demonstrate that Saracoder significantly outperforms existing baselines across multiple programming languages and models. Our work proves that systematically refining retrieval results across multiple dimensions provides a new paradigm for building more accurate and robust repository-level code completion systems.

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