RAMBO: Enhancing RAG-based Repository-Level Method Body Completion

要約

コード補完はソフトウェア開発において不可欠であり、コンテキストに基づいてコード スニペットを予測することで開発者を支援します。
完了タスクの中でも、メソッド本体完了 (MBC) は、シグネチャとコンテキストに基づいて完全なメソッド本体を生成する必要があるため、特に困難です。
このタスクは、メソッド本体がカスタム API、モジュール間の依存関係、プロジェクト固有の規則などのリポジトリ固有の要素を統合する必要がある大規模なリポジトリでは非常に困難になります。
このペーパーでは、リポジトリ レベルの MBC に対する新しい RAG ベースのアプローチである RAMBO を紹介します。
RAMBO は、同様のメソッド本体を取得する代わりに、クラス、メソッド、変数/フィールドなどの重要なリポジトリ固有の要素と、それらの関連する使用法を識別します。
これらの要素とその関連使用法をコード生成プロセスに組み込むことにより、RAMBO はより正確でコンテキストに関連したメソッド本体を保証します。
40 の Java プロジェクトにわたる主要なコード LLM を使用した実験結果では、RAMBO が最先端のリポジトリ レベルの MBC アプローチよりも大幅に優れたパフォーマンスを示し、BLEU で最大 46%、CodeBLEU で 57%、コンパイルで 36% の改善が見られました。
レート、完全一致で最大 3 倍。
特に、RAMBO は完全一致において RepoCoder Oracle メソッドを最大 12% 上回り、リポジトリ レベルの MBC の新しいベンチマークを設定しました。

要約(オリジナル)

Code completion is essential in software development, helping developers by predicting code snippets based on context. Among completion tasks, Method Body Completion (MBC) is particularly challenging as it involves generating complete method bodies based on their signatures and context. This task becomes significantly harder in large repositories, where method bodies must integrate repositoryspecific elements such as custom APIs, inter-module dependencies, and project-specific conventions. In this paper, we introduce RAMBO, a novel RAG-based approach for repository-level MBC. Instead of retrieving similar method bodies, RAMBO identifies essential repository-specific elements, such as classes, methods, and variables/fields, and their relevant usages. By incorporating these elements and their relevant usages into the code generation process, RAMBO ensures more accurate and contextually relevant method bodies. Our experimental results with leading code LLMs across 40 Java projects show that RAMBO significantly outperformed the state-of-the-art repository-level MBC approaches, with the improvements of up to 46% in BLEU, 57% in CodeBLEU, 36% in Compilation Rate, and up to 3X in Exact Match. Notably, RAMBO surpassed RepoCoder Oracle method by up to 12% in Exact Match, setting a new benchmark for repository-level MBC.

arxiv情報

著者 Tuan-Dung Bui,Duc-Thieu Luu-Van,Thanh-Phat Nguyen,Thu-Trang Nguyen,Son Nguyen,Hieu Dinh Vo
発行日 2024-09-27 15:19:23+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

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