論文の概要: RAMBO: Enhancing RAG-based Repository-Level Method Body Completion
- arxiv url: http://arxiv.org/abs/2409.15204v1
- Date: Mon, 23 Sep 2024 16:51:43 GMT
- ステータス: 処理完了
- システム内更新日: 2024-09-26 14:02:53.161192
- Title: RAMBO: Enhancing RAG-based Repository-Level Method Body Completion
- Title(参考訳): RAMBO: RAGベースのレポジトリ-レベルメソッドボディコンプリートを強化
- Authors: Tuan-Dung Bui, Duc-Thieu Luu-Van, Thanh-Phat Nguyen, Thu-Trang Nguyen, Son Nguyen, Hieu Dinh Vo,
- Abstract要約: RAMBOは、レポジトリレベルのMBCのための新しいRAGベースのアプローチである。
クラス、メソッド、変数/フィールドなど、レポジトリ固有の要素とその関連する使用法を特定します。
RAMBOは、最先端のレポジトリレベルのMBCアプローチを大幅に上回った。
- 参考スコア(独自算出の注目度): 4.080365651252764
- License: http://creativecommons.org/publicdomain/zero/1.0/
- Abstract: 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 repositoryspecific 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.
- Abstract(参考訳): コード補完はソフトウェア開発において必須であり、コンテキストに基づいてコードスニペットを予測することで開発者を支援する。
完了タスクの中で、メソッドボディコンプリート(MBC)は、そのシグネチャとコンテキストに基づいて、完全なメソッドボディを生成するため、特に難しい。
メソッド本体はカスタムAPIやモジュール間の依存関係、プロジェクト固有の規約といったリポジトリ固有の要素を統合する必要がある。
本稿では,レポジトリレベルのMBCのための新しいRAGベースのアプローチであるRAMBOを紹介する。
類似したメソッドボディを取得する代わりに、RAMBOはクラス、メソッド、変数/フィールドなどのレポジトリ固有の要素とその関連する使用法を識別する。
これらの要素とその関連する使用法をコード生成プロセスに組み込むことで、RAMBOはより正確で文脈的に関連するメソッドボディを保証する。
40のJavaプロジェクトにわたるコードLLMによる実験結果は、RAMBOが最先端のリポジトリレベルのMBCアプローチを著しく上回り、BLEUが46%、CodeBLEUが57%、コンパイルレートが36%、Exact Matchが3倍に向上したことを示している。
特に、RAMBOはRepoCoderのOracleメソッドをExact Matchで最大12%上回り、リポジトリレベルのMBCの新しいベンチマークを設定した。
関連論文リスト
- CodeTree: Agent-guided Tree Search for Code Generation with Large Language Models [106.11371409170818]
大規模言語モデル(LLM)は、生成されたコードを自己定義し、自律的に改善する機能を持つエージェントとして機能する。
コード生成プロセスの異なる段階における探索空間を効率的に探索するLLMエージェントのためのフレームワークであるCodeTreeを提案する。
具体的には、異なるコーディング戦略を明示的に探求し、対応するコーディングソリューションを生成し、その後、ソリューションを洗練するために統合されたツリー構造を採用しました。
論文 参考訳(メタデータ) (2024-11-07T00:09:54Z) - DOCE: Finding the Sweet Spot for Execution-Based Code Generation [69.5305729627198]
本稿では,候補生成,$n$-best再ランク,最小ベイズリスク(MBR)復号化,自己老化などを含む包括的フレームワークを提案する。
本研究は,実行ベースメソッドの重要性と,実行ベースメソッドと実行フリーメソッドとの差を明らかにする。
論文 参考訳(メタデータ) (2024-08-25T07:10:36Z) - On the Impacts of Contexts on Repository-Level Code Generation [5.641402231731082]
リポジトリレベルのコード生成を評価するために設計された新しいベンチマークである textbfmethodnamews を提案する。
実行可能性、包括的なテストケース生成による機能的正当性、ファイル間のコンテキストの正確な利用という3つの重要な側面に注目します。
論文 参考訳(メタデータ) (2024-06-17T10:45:22Z) - On The Importance of Reasoning for Context Retrieval in Repository-Level Code Editing [82.96523584351314]
我々は、コンテキスト検索のタスクをリポジトリレベルのコード編集パイプラインの他のコンポーネントと分離する。
我々は、推論が収集された文脈の精度を向上させるのに役立っているが、それでもその十分性を識別する能力は欠如していると結論づける。
論文 参考訳(メタデータ) (2024-06-06T19:44:17Z) - How to Understand Whole Software Repository? [64.19431011897515]
リポジトリ全体に対する優れた理解は、自動ソフトウェアエンジニアリング(ASE)への重要な道になるでしょう。
本研究では,リポジトリ全体を包括的に理解するためのエージェントによるRepoUnderstanderという新しい手法を開発した。
リポジトリレベルの知識をより活用するために、エージェントをまとめ、分析し、計画する。
論文 参考訳(メタデータ) (2024-06-03T15:20:06Z) - Class-Level Code Generation from Natural Language Using Iterative, Tool-Enhanced Reasoning over Repository [4.767858874370881]
実世界のリポジトリ内でクラスレベルのコードを生成する際に,LLMを厳格に評価するためのベンチマークであるRepoClassBenchを紹介する。
RepoClassBenchには、リポジトリの選択からJava、Python、C#にまたがる"Natural Language to Class Generation"タスクが含まれている。
Retrieve-Repotools-Reflect (RRR)は,レポジトリレベルのコンテキストを反復的にナビゲートし,推論する静的解析ツールを備えた新しいアプローチである。
論文 参考訳(メタデータ) (2024-04-22T03:52:54Z) - Repoformer: Selective Retrieval for Repository-Level Code Completion [30.706277772743615]
検索強化生成(RAG)の最近の進歩は、リポジトリレベルのコード補完の新たな時代が始まった。
本稿では,不要な場合の検索を回避するため,選択的なRAGフレームワークを提案する。
我々のフレームワークは、異なる世代モデル、レトリバー、プログラミング言語に対応できることを示します。
論文 参考訳(メタデータ) (2024-03-15T06:59:43Z) - A Review of Repository Level Prompting for LLMs [0.0]
大規模言語モデル(LLM)は、HumanEvalベンチマークで94.6%の解決率を達成するなど、顕著な成功を収めている。
GitHub CopilotやTab Nineといったリポジトリレベルのインラインコード補完ツールの商用化が進んでいる。
本稿では,個々のコーディング問題からリポジトリスケールソリューションへの移行について述べる。
論文 参考訳(メタデータ) (2023-12-15T00:34:52Z) - Enhancing Large Language Model with Self-Controlled Memory Framework [56.38025154501917]
大きな言語モデル(LLM)は、長い入力を処理できないため、重要な歴史的情報が失われる。
本稿では,LLMが長期記憶を維持し,関連する情報をリコールする能力を高めるための自己制御メモリ(SCM)フレームワークを提案する。
論文 参考訳(メタデータ) (2023-04-26T07:25:31Z) - RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation [96.75695811963242]
RepoCoderはリポジトリレベルのコード補完プロセスを合理化するフレームワークである。
類似性ベースのレトリバーと、事前訓練されたコード言語モデルが組み込まれている。
バニラ検索で拡張されたコード補完アプローチよりも一貫して優れています。
論文 参考訳(メタデータ) (2023-03-22T13:54:46Z) - A Unified and Efficient Coordinating Framework for Autonomous DBMS
Tuning [34.85351481228439]
既存のMLベースのエージェントを効率的に活用するための統合コーディネートフレームワークを提案する。
機械学習ベースのエージェントを効果的に利用し、ワークロードの実行時間に1.414.1Xのスピードアップでより良い設定を実現できることを示す。
論文 参考訳(メタデータ) (2023-03-10T05:27:23Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。