CLAISEJun 5, 2023

RepoBench: Benchmarking Repository-Level Code Auto-Completion Systems

arXiv:2306.03091v2372 citationsh-index: 72Has Code
AI Analysis

This addresses the need for better evaluation tools for developers and researchers working on complex, multi-file programming tasks, though it is incremental as it builds on existing single-file benchmarks.

The authors tackled the lack of benchmarks for multi-file code auto-completion systems by introducing RepoBench, a new benchmark for evaluating repository-level tasks in Python and Java, which includes retrieval, code completion, and pipeline components to measure performance in real-world scenarios.

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.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes