論文の概要: How to Understand Whole Software Repository?
- arxiv url: http://arxiv.org/abs/2406.01422v1
- Date: Mon, 3 Jun 2024 15:20:06 GMT
- ステータス: 処理完了
- システム内更新日: 2024-06-05 22:30:12.296946
- Title: How to Understand Whole Software Repository?
- Title(参考訳): ソフトウェアリポジトリ全体を理解するには?
- Authors: Yingwei Ma, Qingping Yang, Rongyu Cao, Binhua Li, Fei Huang, Yongbin Li,
- Abstract要約: リポジトリ全体に対する優れた理解は、自動ソフトウェアエンジニアリング(ASE)への重要な道になるでしょう。
本研究では,リポジトリ全体を包括的に理解するためのエージェントによるRepoUnderstanderという新しい手法を開発した。
リポジトリレベルの知識をより活用するために、エージェントをまとめ、分析し、計画する。
- 参考スコア(独自算出の注目度): 64.19431011897515
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Recently, Large Language Model (LLM) based agents have advanced the significant development of Automatic Software Engineering (ASE). Although verified effectiveness, the designs of the existing methods mainly focus on the local information of codes, e.g., issues, classes, and functions, leading to limitations in capturing the global context and interdependencies within the software system. From the practical experiences of the human SE developers, we argue that an excellent understanding of the whole repository will be the critical path to ASE. However, understanding the whole repository raises various challenges, e.g., the extremely long code input, the noisy code information, the complex dependency relationships, etc. To this end, we develop a novel ASE method named RepoUnderstander by guiding agents to comprehensively understand the whole repositories. Specifically, we first condense the critical information of the whole repository into the repository knowledge graph in a top-to-down mode to decrease the complexity of repository. Subsequently, we empower the agents the ability of understanding whole repository by proposing a Monte Carlo tree search based repository exploration strategy. In addition, to better utilize the repository-level knowledge, we guide the agents to summarize, analyze, and plan. Then, they can manipulate the tools to dynamically acquire information and generate the patches to solve the real-world GitHub issues. Extensive experiments demonstrate the superiority and effectiveness of the proposed RepoUnderstander. It achieved 18.5\% relative improvement on the SWE-bench Lite benchmark compared to SWE-agent.
- Abstract(参考訳): 近年,Large Language Model (LLM) をベースとしたエージェントが,自動ソフトウェア工学 (ASE) の大幅な発展を遂げている。
有効性は検証されているが、既存の手法の設計は主にコードのローカル情報、例えば問題、クラス、関数に焦点を合わせており、ソフトウェアシステム内のグローバルコンテキストと相互依存を捉えるのに限界がある。
人間のSE開発者の実践的な経験から、リポジトリ全体の優れた理解がASEにとって重要な道であると論じます。
しかし、リポジトリ全体を理解することは、非常に長いコード入力、ノイズの多いコード情報、複雑な依存関係関係など、さまざまな課題を引き起こします。
この目的のために,リポジトリ全体を包括的に理解するエージェントを誘導することにより,RepoUnderstanderという新しいASE手法を開発した。
具体的には、まずリポジトリ全体の重要な情報をトップダウンモードでリポジトリ知識グラフに格納し、リポジトリの複雑さを減らします。
その後、モンテカルロ木探索に基づくリポジトリ探索戦略を提案することにより、エージェントにリポジトリ全体を理解する能力を与える。
さらに、リポジトリレベルの知識をより活用するために、エージェントをまとめ、分析し、計画するように指導します。
そして、ツールを操作して情報を動的に取得し、パッチを生成して実際のGitHubの問題を解決する。
大規模な実験は、提案されたRepoUnderstanderの優位性と有効性を示している。
SWE-bench LiteベンチマークではSWE-agentと比較して18.5\%改善した。
関連論文リスト
- RepoGraph: Enhancing AI Software Engineering with Repository-level Code Graph [63.87660059104077]
RepoGraphは、現代のAIソフトウェアエンジニアリングソリューションのためのリポジトリレベルの構造を管理するプラグインモジュールである。
RepoGraphはすべてのシステムのパフォーマンスを大幅に向上させ、オープンソースフレームワークの間で新たな最先端技術を生み出している。
論文 参考訳(メタデータ) (2024-10-03T05:45:26Z) - 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) - DepsRAG: Towards Agentic Reasoning and Planning for Software Dependency Management [2.9860252315941618]
DepsRAGは、ソフトウェア依存関係の推論を支援するために設計されたマルチエージェントフレームワークである。
開発者は会話インターフェースを通じてDepsRAGと対話し、依存関係に関するクエリをポーズすることができる。
GPT-4-Turbo と Llama-3 を多段階推論タスクで用いた DepsRAG の評価を行い,Critic-Agent 機構の統合による3倍の精度向上を観察した。
論文 参考訳(メタデータ) (2024-05-30T20:05:44Z) - 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) - RepoAgent: An LLM-Powered Open-Source Framework for Repository-level
Code Documentation Generation [79.83270415843857]
コードドキュメンテーションを積極的に生成、保守、更新することを目的とした、大規模な言語モデルによるオープンソースフレームワークであるRepoAgentを紹介します。
RepoAgentは高品質なリポジトリレベルのドキュメントを生成するのに優れています。
論文 参考訳(メタデータ) (2024-02-26T15:39:52Z) - GitAgent: Facilitating Autonomous Agent with GitHub by Tool Extension [81.44231422624055]
さまざまなタスクを実行できる外部ツールを備えた大規模言語モデル(LLM)に焦点が当てられている。
本稿では,GitHubから自動ツール拡張を実現するエージェントであるGitAgentを紹介する。
論文 参考訳(メタデータ) (2023-12-28T15:47:30Z) - RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation [96.75695811963242]
RepoCoderはリポジトリレベルのコード補完プロセスを合理化するフレームワークである。
類似性ベースのレトリバーと、事前訓練されたコード言語モデルが組み込まれている。
バニラ検索で拡張されたコード補完アプローチよりも一貫して優れています。
論文 参考訳(メタデータ) (2023-03-22T13:54:46Z) - Repo2Vec: A Comprehensive Embedding Approach for Determining Repository
Similarity [2.095199622772379]
Repo2Vecは、リポジトリを分散ベクタとして表現するための包括的な埋め込みアプローチである。
当社の手法をGitHubから2つの実際のデータセットで評価し、1013リポジトリを組み合わせて検討した。
論文 参考訳(メタデータ) (2021-07-11T18:57:03Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。