GraphCoder: Enhancing Repository-Level Code Completion via Coarse-to-fine Retrieval Based on Code Context Graph
The performance of repository-level code completion depends upon the effective leverage of both general and repository-specific knowledge. Despite the impressive capability of code LLMs in general code completion tasks, they often exhibit less satisfactory performance on repository-level completion due to the lack of repository-specific knowledge in these LLMs. To address this problem, we propose GraphCoder, a retrieval-augmented code completion framework that leverages LLMs' general code knowledge and the repository-specific knowledge via a graph-based retrieval-generation process. In particular, GraphCoder captures the context of completion target more accurately through code context graph (CCG) that consists of control-flow, data- and control-dependence between code statements, a more structured way to capture the completion target context than the sequence-based context used in existing retrieval-augmented approaches; based on CCG, GraphCoder further employs a coarse-to-fine retrieval process to locate context-similar code snippets with the completion target from the current repository. Experimental results demonstrate both the effectiveness and efficiency of GraphCoder: Compared to baseline retrieval-augmented methods, GraphCoder achieves higher exact match (EM) on average, with increases of +6.06 in code match and +6.23 in identifier match, while using less time and space.
Authors
- Daoguang Zan (ORCID: https://orcid.org/0009-0009-4269-8543)
- Ailun Yu (ORCID: https://orcid.org/0009-0004-4707-4418)
- Zhi Jin (ORCID: https://orcid.org/0000-0003-1087-226X)
- Qianxiang Wang (ORCID: https://orcid.org/0000-0002-1322-2476)
- Wei Zhang (ORCID: https://orcid.org/0000-0003-1543-0196)
- Bo Shen
- Hantao Zhao (ORCID: https://orcid.org/0000-0002-3600-8923)
- Wei Liu (ORCID: https://orcid.org/0009-0005-4603-4227)
Institutions
- Chinese Academy of Sciences (CN)
- Peking University (CN)
- Huawei Technologies (China) (CN)
- Institute of Software (CN)
Publication Details
- Published
- 2024-10-18
- DOI
- https://doi.org/10.1145/3691620.3695054
- Citations
- 11
- Primary Topic
- Web Data Mining and Analysis
- Type
- article
- Field-Weighted Citation Impact
- 8.57
Funders
- National Natural Science Foundation of China