Not All RAGs Are Created Equal: A Component-Wise Empirical Study for Software Engineering Tasks
Qiang Ke, Yanjie Zhao, Hongjin Leng, Shengming Zhao, Haoyu Wang

TL;DR
This study systematically evaluates the components of Retrieval-Augmented Generation systems for software engineering tasks, revealing the retriever choice often impacts performance more than generators, with BM25 being notably effective.
Contribution
It provides a comprehensive empirical analysis of RAG components in SE tasks, offering practical guidance on component prioritization and revealing the robustness of BM25 retrieval.
Findings
Retriever components significantly influence system performance.
BM25 retrieval method performs robustly across tasks.
Component-wise analysis guides effective RAG system design.
Abstract
While Retrieval-Augmented Generation (RAG) is increasingly adopted to ground Large Language Models (LLMs) in software artifacts, the optimal configuration of its components remains an open question for software engineering (SE) tasks. The lack of systematic guidance forces practitioners into costly, ad-hoc experimentation. This paper presents a comprehensive, component-wise empirical study that dissects the RAG pipeline, evaluating over 21 distinct models and methods. Our study systematically isolates and evaluates 4 query processing techniques, 7 retrieval models spanning sparse, dense, and hybrid paradigms, 4 context refinement methods, and 6 distinct generators. We test these components on a suite of 3 core SE tasks: code generation, summarization, and repair. Our empirical findings reveal a crucial insight: the retriever-side components, particularly the choice of the retrieval…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
