Current browse context:
cs.SE
Change to browse by:
References & Citations
Computer Science > Computation and Language
Title: RepoCoder: Repository-Level Code Completion Through Iterative Retrieval and Generation
(Submitted on 22 Mar 2023 (v1), last revised 20 Oct 2023 (this version, v3))
Abstract: The task of repository-level code completion is to continue writing the unfinished code based on a broader context of the repository. While for automated code completion tools, it is difficult to utilize the useful information scattered in different files. We propose RepoCoder, a simple, generic, and effective framework to address the challenge. It streamlines the repository-level code completion process by incorporating a similarity-based retriever and a pre-trained code language model in an iterative retrieval-generation pipeline. RepoCoder makes effective utilization of repository-level information for code completion and has the ability to generate code at various levels of granularity. Moreover, we propose a new benchmark RepoEval, which consists of the latest and high-quality real-world repositories covering line, API invocation, and function body completion scenarios. Experimental results indicate that RepoCoder significantly improves the In-File completion baseline by over 10% in all settings and consistently outperforms the vanilla retrieval-augmented code completion approach. Furthermore, we validate the effectiveness of RepoCoder through comprehensive analysis, providing valuable insights for future research. Our source code and benchmark are publicly available: this https URL
Submission history
From: Fengji Zhang [view email][v1] Wed, 22 Mar 2023 13:54:46 GMT (2312kb,D)
[v2] Mon, 3 Apr 2023 08:07:16 GMT (2312kb,D)
[v3] Fri, 20 Oct 2023 15:21:51 GMT (4224kb,D)
Link back to: arXiv, form interface, contact.