論文の概要: Class-Level Code Generation from Natural Language Using Iterative, Tool-Enhanced Reasoning over Repository
- arxiv url: http://arxiv.org/abs/2405.01573v1
- Date: Mon, 22 Apr 2024 03:52:54 GMT
- ステータス: 処理完了
- システム内更新日: 2024-05-12 16:10:01.582025
- Title: Class-Level Code Generation from Natural Language Using Iterative, Tool-Enhanced Reasoning over Repository
- Title(参考訳): リポジトリ上の反復的ツール強化推論を用いた自然言語からのクラスレベルコード生成
- Authors: Ajinkya Deshpande, Anmol Agarwal, Shashank Shet, Arun Iyer, Aditya Kanade, Ramakrishna Bairi, Suresh Parthasarathy,
- Abstract要約: 実世界のリポジトリ内で複雑なクラスレベルのコードを生成する際に,LLMを厳格に評価するためのベンチマークであるRepoClassBenchを紹介する。
RepoClassBenchには、パブリックリポジトリの選択から、JavaとPythonにわたる自然言語からクラス生成タスクが含まれている。
Retrieve-Repotools-Reflect (RRR)は,レポジトリレベルのコンテキストを反復的にナビゲートし,推論する静的解析ツールを備えた新しいアプローチである。
- 参考スコア(独自算出の注目度): 4.767858874370881
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: LLMs have demonstrated significant potential in code generation tasks, achieving promising results at the function or statement level in various benchmarks. However, the complexities associated with creating code artifacts like classes, particularly within the context of real-world software repositories, remain underexplored. Existing research often treats class-level generation as an isolated task, neglecting the intricate dependencies and interactions that characterize real-world software development environments. To address this gap, we introduce RepoClassBench, a benchmark designed to rigorously evaluate LLMs in generating complex, class-level code within real-world repositories. RepoClassBench includes natural language to class generation tasks across Java and Python, from a selection of public repositories. We ensure that each class in our dataset not only has cross-file dependencies within the repository but also includes corresponding test cases to verify its functionality. We find that current models struggle with the realistic challenges posed by our benchmark, primarily due to their limited exposure to relevant repository contexts. To address this shortcoming, we introduce Retrieve-Repotools-Reflect (RRR), a novel approach that equips LLMs with static analysis tools to iteratively navigate & reason about repository-level context in an agent-based framework. Our experiments demonstrate that RRR significantly outperforms existing baselines on RepoClassBench, showcasing its effectiveness across programming languages and in various settings. Our findings emphasize the need for benchmarks that incorporate repository-level dependencies to more accurately reflect the complexities of software development. Our work illustrates the benefits of leveraging specialized tools to enhance LLMs understanding of repository context. We plan to make our dataset and evaluation harness public.
- Abstract(参考訳): LLMはコード生成タスクにおいて大きな可能性を示しており、様々なベンチマークで関数やステートメントレベルで有望な結果を達成している。
しかし、クラスのようなコードアーティファクトを作成することに関連する複雑さ、特に現実世界のソフトウェアリポジトリのコンテキスト内では、まだ解明されていないままです。
既存の研究は、しばしばクラスレベルの生成を独立したタスクとして扱い、現実世界のソフトウェア開発環境を特徴づける複雑な依存関係や相互作用を無視します。
このギャップに対処するために,実世界のリポジトリ内で複雑なクラスレベルのコードを生成する上で,LLMを厳格に評価するためのベンチマークであるRepoClassBenchを紹介した。
RepoClassBenchには、パブリックリポジトリの選択から、JavaとPythonにわたる自然言語からクラス生成タスクが含まれている。
データセットの各クラスがリポジトリ内でクロスファイルの依存関係を持つだけでなく、その機能を検証するための対応するテストケースも含んでいることを保証します。
現在のモデルでは,関連するリポジトリコンテキストへの露出が限られているため,ベンチマークによって引き起こされる現実的な課題に対処しています。
Retrieve-Repotools-Reflect(RRR)は、エージェントベースのフレームワークでリポジトリレベルのコンテキストを反復的にナビゲートし、推論する静的解析ツールを備えた新しいアプローチである。
我々の実験は、RRRが既存のRepoClassBenchのベースラインを大幅に上回ることを示した。
私たちの発見は、ソフトウェア開発の複雑さをより正確に反映するために、リポジトリレベルの依存関係を組み込んだベンチマークの必要性を強調します。
我々の研究は、レポジトリコンテキストのLLM理解を強化するために、特殊なツールを活用する利点を説明している。
データセットと評価を一般公開する予定です。
関連論文リスト
- CodeRAG-Bench: Can Retrieval Augment Code Generation? [78.37076502395699]
検索拡張生成を用いたコード生成の系統的,大規模な解析を行う。
まず、コード生成タスクの3つのカテゴリを含む総合的な評価ベンチマークであるCodeRAG-Benchをキュレートする。
CodeRAG-Bench上のトップパフォーマンスモデルについて、1つまたは複数のソースから検索したコンテキストを提供することにより検討する。
論文 参考訳(メタデータ) (2024-06-20T16:59:52Z) - Can Long-Context Language Models Subsume Retrieval, RAG, SQL, and More? [54.667202878390526]
長文言語モデル(LCLM)は、従来、検索システムやデータベースといった外部ツールに依存していたタスクへのアプローチに革命をもたらす可能性がある。
実世界のタスクのベンチマークであるLOFTを導入し、文脈内検索と推論においてLCLMの性能を評価するために設計された数百万のトークンを出力する。
以上の結果からLCLMは,これらのタスクを明示的に訓練したことがないにも関わらず,最先端の検索システムやRAGシステムと競合する驚くべき能力を示した。
論文 参考訳(メタデータ) (2024-06-19T00:28:58Z) - 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) - Repoformer: Selective Retrieval for Repository-Level Code Completion [30.706277772743615]
検索強化生成(RAG)の最近の進歩は、リポジトリレベルのコード補完の新たな時代が始まった。
本稿では,不要な場合の検索を回避するため,選択的なRAGフレームワークを提案する。
我々のフレームワークは、異なる世代モデル、レトリバー、プログラミング言語に対応できることを示します。
論文 参考訳(メタデータ) (2024-03-15T06:59:43Z) - DevBench: A Comprehensive Benchmark for Software Development [72.24266814625685]
DevBenchは、ソフトウェア開発ライフサイクルのさまざまな段階にわたる大規模言語モデル(LLM)を評価するベンチマークである。
GPT-4-Turboを含む現在のLLMは、DevBench内での課題の解決に失敗している。
本研究は,LLMを現実のプログラミングアプリケーションに展開する上で,現実的な知見を提供するものである。
論文 参考訳(メタデータ) (2024-03-13T15:13:44Z) - Enhancing LLM-Based Coding Tools through Native Integration of
IDE-Derived Static Context [41.91246546266515]
我々は,統合開発環境(IDE)がリポジトリレベルのコード補完のために,直接的かつ正確かつリアルタイムなクロスファイル情報を提供できると主張している。
本稿では,IDEネイティブな静的コンテキストをクロスコンテキスト構築に利用し,自己再定義のための診断結果を生成するフレームワークを提案する。
論文 参考訳(メタデータ) (2024-02-06T01:59:41Z) - A Review of Repository Level Prompting for LLMs [0.0]
大規模言語モデル(LLM)は、HumanEvalベンチマークで94.6%の解決率を達成するなど、顕著な成功を収めている。
GitHub CopilotやTab Nineといったリポジトリレベルのインラインコード補完ツールの商用化が進んでいる。
本稿では,個々のコーディング問題からリポジトリスケールソリューションへの移行について述べる。
論文 参考訳(メタデータ) (2023-12-15T00:34:52Z) - RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation [96.75695811963242]
RepoCoderはリポジトリレベルのコード補完プロセスを合理化するフレームワークである。
類似性ベースのレトリバーと、事前訓練されたコード言語モデルが組み込まれている。
バニラ検索で拡張されたコード補完アプローチよりも一貫して優れています。
論文 参考訳(メタデータ) (2023-03-22T13:54:46Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。