RepoBench: Benchmarking Repository-Level Code Auto-Completion Systems

Tianyang Liu, Canwen Xu, Julian McAuley
6/1/2023
benchmark-dataset

No official code found. Best implementation: Leolty/repobench (212 stars, CC-BY-4.0, last commit 2024-08-16).

Abstract

Large Language Models (LLMs) have greatly advanced code auto-completion systems, with a potential for substantial productivity enhancements for developers. However, current benchmarks mainly focus on single-file tasks, leaving an assessment gap for more complex, real-world, multi-file programming scenarios. To fill this gap, we introduce RepoBench, a new benchmark specifically designed for evaluating repository-level code auto-completion systems. RepoBench supports both Python and Java and consists of three interconnected evaluation tasks: RepoBench-R (Retrieval), RepoBench-C (Code Completion), and RepoBench-P (Pipeline). Each task respectively measures the system's ability to retrieve the most relevant code snippets from other files as cross-file context, predict the next line of code with cross-file and in-file context, and handle complex tasks that require a combination of both retrieval and next-line prediction. RepoBench aims to facilitate a more complete comparison of performance and encouraging continuous improvement in auto-completion systems. RepoBench is publicly available at https://github.com/Leolty/repobench.

View on arXivView PDF

Code Implementations(1)

Leolty/repobenchCommunity100%
CC-BY-4.0

✨ RepoBench: Benchmarking Repository-Level Code Auto-Completion Systems - ICLR 2024

21213PythonMay 30, 20232 years agoCC-BY-4.0

Similar Papers

Cite this paper

@article{liu2023repobench,
  title  = {RepoBench: Benchmarking Repository-Level Code Auto-Completion Systems},
  author = {Tianyang Liu and Canwen Xu and Julian McAuley},
  year   = {2023},
  eprint = {2306.03091},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/pdf/2306.03091},
  journal = {ICLR 2023 2023}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2306.03091.svg)](https://codeofpaper.com/paper/2306.03091)

Discussion