English

RepoHyper: Search-Expand-Refine on Semantic Graphs for Repository-Level Code Completion

Software Engineering 2024-08-15 v4 Artificial Intelligence

Abstract

Code Large Language Models (CodeLLMs) have demonstrated impressive proficiency in code completion tasks. However, they often fall short of fully understanding the extensive context of a project repository, such as the intricacies of relevant files and class hierarchies, which can result in less precise completions. To overcome these limitations, we present \tool, a multifaceted framework designed to address the complex challenges associated with repository-level code completion. Central to RepoHYPER is the {\em Repo-level Semantic Graph} (RSG), a novel semantic graph structure that encapsulates the vast context of code repositories. Furthermore, RepoHyper leverages Expand and Refine retrieval method, including a graph expansion and a link prediction algorithm applied to the RSG, enabling the effective retrieval and prioritization of relevant code snippets. Our evaluations show that \tool markedly outperforms existing techniques in repository-level code completion, showcasing enhanced accuracy across various datasets when compared to several strong baselines. Our implementation of RepoHYPER can be found at https://github.com/FSoft-AI4Code/RepoHyper.

Keywords

Cite

@article{arxiv.2403.06095,
  title  = {RepoHyper: Search-Expand-Refine on Semantic Graphs for Repository-Level Code Completion},
  author = {Huy N. Phan and Hoang N. Phan and Tien N. Nguyen and Nghi D. Q. Bui},
  journal= {arXiv preprint arXiv:2403.06095},
  year   = {2024}
}
R2 v1 2026-06-28T15:14:47.815Z