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

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Phan, Huy N., Phan, Hoang N., Nguyen, Tien N., Bui, Nghi D. Q.
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866910565288378368
author Phan, Huy N.
Phan, Hoang N.
Nguyen, Tien N.
Bui, Nghi D. Q.
author_facet Phan, Huy N.
Phan, Hoang N.
Nguyen, Tien N.
Bui, Nghi D. Q.
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2403_06095
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle RepoHyper: Search-Expand-Refine on Semantic Graphs for Repository-Level Code Completion
Phan, Huy N.
Phan, Hoang N.
Nguyen, Tien N.
Bui, Nghi D. Q.
Software Engineering
Artificial Intelligence
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.
title RepoHyper: Search-Expand-Refine on Semantic Graphs for Repository-Level Code Completion
topic Software Engineering
Artificial Intelligence
url https://arxiv.org/abs/2403.06095