RepoHyper: Search-Expand-Refine on Semantic Graphs for Repository-Level Code Completion
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 prec...
Gespeichert in:
Hauptverfasser: | , , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | 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. |
---|---|
DOI: | 10.48550/arxiv.2403.06095 |