RepoBench: Benchmarking Repository-Level Code Auto-Completion Systems

要約

大規模言語モデル(LLM)は、コード自動補完システムを大きく進化させ、開発者の生産性を大幅に向上させる可能性を持っています。しかし、現在のベンチマークは主に単一ファイルのタスクに焦点を当てており、より複雑で実世界の複数ファイルのプログラミングシナリオに対する評価ギャップが残っています。このギャップを埋めるために、リポジトリレベルのコード自動補完システムを評価するために特別に設計された新しいベンチマークであるRepoBenchを紹介します。RepoBenchは、3つの相互接続された評価タスクで構成されています:RepoBench-R(検索)、RepoBench-C(コード補完)、RepoBench-P(パイプライン)です。各タスクはそれぞれ、他のファイルから最も関連性の高いコードスニペットをクロスファイルコンテキストとして取得する能力、クロスファイルおよびファイル内コンテキストでコードの次の行を予測する能力、検索と次の行予測の両方を組み合わせる必要がある複雑なタスクを処理する能力を測定します。RepoBenchは、より完全な性能比較を容易にし、オートコンプリートシステムの継続的な改善を促すことを目的としています。RepoBenchは、https://github.com/Leolty/repobench で公開されています。

要約(オリジナル)

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 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.

arxiv情報

著者 Tianyang Liu,Canwen Xu,Julian McAuley
発行日 2023-06-05 17:59:41+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, DeepL

カテゴリー: cs.AI, cs.CL, cs.SE パーマリンク