GrepRAG: An Empirical Study and Optimization of Grep-Like Retrieval for Code Completion
Baoyi Wang, Xingliang Wang, Guochang Li, Chen Zhi, Junxiao Han, Xinkui Zhao, Nan Wang, Shuiguang Deng, Jianwei Yin
TL;DR
This work reconsiders repository-level code completion by evaluating the potential of index-free lexical retrieval. It introduces Naive GrepRAG, where an LLM generates ripgrep queries to fetch relevant context, and shows competitive performance against complex graph-based baselines but with notable latency and fragmentation issues. To address these, the authors propose GrepRAG, a post-processing pipeline that applies identifier-weighted re-ranking and structure-aware deduplication, yielding consistent improvements and achieving SOTA on CrossCodeEval and RepoEval_Updated benchmarks. The findings demonstrate that lightweight, lexical retrieval can be a practical and scalable context augmentation strategy for large repositories, and point to future work on adaptive routing for implicit dependencies and further efficiency gains.
Abstract
Repository-level code completion remains challenging for large language models (LLMs) due to cross-file dependencies and limited context windows. Prior work addresses this challenge using Retrieval-Augmented Generation (RAG) frameworks based on semantic indexing or structure-aware graph analysis, but these approaches incur substantial computational overhead for index construction and maintenance. Motivated by common developer workflows that rely on lightweight search utilities (e.g., ripgrep), we revisit a fundamental yet underexplored question: how far can simple, index-free lexical retrieval support repository-level code completion before more complex retrieval mechanisms become necessary? To answer this question, we systematically investigate lightweight, index-free, intent-aware lexical retrieval through extensive empirical analysis. We first introduce Naive GrepRAG, a baseline framework in which LLMs autonomously generate ripgrep commands to retrieve relevant context. Despite its simplicity, Naive GrepRAG achieves performance comparable to sophisticated graph-based baselines. Further analysis shows that its effectiveness stems from retrieving lexically precise code fragments that are spatially closer to the completion site. We also identify key limitations of lexical retrieval, including sensitivity to noisy matches from high-frequency ambiguous keywords and context fragmentation caused by rigid truncation boundaries. To address these issues, we propose GrepRAG, which augments lexical retrieval with a lightweight post-processing pipeline featuring identifier-weighted re-ranking and structure-aware deduplication. Extensive evaluation on CrossCodeEval and RepoEval-Updated demonstrates that GrepRAG consistently outperforms state-of-the-art (SOTA) methods, achieving 7.04-15.58 percent relative improvement in code exact match (EM) over the best baseline on CrossCodeEval.
