論文の概要: AutoCodeRover: Autonomous Program Improvement
- arxiv url: http://arxiv.org/abs/2404.05427v2
- Date: Mon, 15 Apr 2024 03:58:04 GMT
- ステータス: 処理完了
- システム内更新日: 2024-04-16 19:41:10.309628
- Title: AutoCodeRover: Autonomous Program Improvement
- Title(参考訳): AutoCodeRover: 自律的なプログラム改善
- Authors: Yuntong Zhang, Haifeng Ruan, Zhiyu Fan, Abhik Roychoudhury,
- Abstract要約: プログラムの改善を自律的に達成するために、GitHubの問題を解決する自動化アプローチを提案する。
AutoCodeRoverと呼ばれるアプローチでは、LLMは洗練されたコード検索機能と組み合わせられ、最終的にプログラムの変更やパッチにつながります。
300のGitHubイシューからなるSWE-bench-liteの実験は、GitHubイシューの解決における有効性の向上を示している。
- 参考スコア(独自算出の注目度): 8.66280420062806
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Researchers have made significant progress in automating the software development process in the past decades. Recent progress in Large Language Models (LLMs) has significantly impacted the development process, where developers can use LLM-based programming assistants to achieve automated coding. Nevertheless software engineering involves the process of program improvement apart from coding, specifically to enable software maintenance (e.g. bug fixing) and software evolution (e.g. feature additions). In this paper, we propose an automated approach for solving GitHub issues to autonomously achieve program improvement. In our approach called AutoCodeRover, LLMs are combined with sophisticated code search capabilities, ultimately leading to a program modification or patch. In contrast to recent LLM agent approaches from AI researchers and practitioners, our outlook is more software engineering oriented. We work on a program representation (abstract syntax tree) as opposed to viewing a software project as a mere collection of files. Our code search exploits the program structure in the form of classes/methods to enhance LLM's understanding of the issue's root cause, and effectively retrieve a context via iterative search. The use of spectrum based fault localization using tests, further sharpens the context, as long as a test-suite is available. Experiments on SWE-bench-lite which consists of 300 real-life GitHub issues show increased efficacy in solving GitHub issues (22-23% on SWE-bench-lite). On the full SWE-bench consisting of 2294 GitHub issues, AutoCodeRover solved around 16% of issues, which is higher than the efficacy of the recently reported AI software engineer Devin from Cognition Labs, while taking time comparable to Devin. We posit that our workflow enables autonomous software engineering, where, in future, auto-generated code from LLMs can be autonomously improved.
- Abstract(参考訳): 研究者たちはここ数十年、ソフトウェア開発プロセスの自動化に大きな進歩を遂げてきた。
大規模言語モデル(LLM)の最近の進歩は、LLMベースのプログラミングアシスタントを使用して自動コーディングを実現する開発プロセスに大きな影響を与えている。
それでもソフトウェアエンジニアリングには、特にソフトウェアメンテナンス(バグ修正など)とソフトウェア進化(機能追加など)を可能にするために、コーディングとは別にプログラムの改善プロセスが含まれています。
本稿では、GitHubの問題を解決するための自動化アプローチを提案し、プログラムの改善を自律的に達成する。
AutoCodeRoverと呼ばれるアプローチでは、LLMは洗練されたコード検索機能と組み合わせられ、最終的にプログラムの変更やパッチにつながります。
AI研究者や実践者による最近のLLMエージェントアプローチとは対照的に、私たちの見通しはよりソフトウェア工学指向である。
我々は、ソフトウェアプロジェクトを単なるファイルの集合として見るのではなく、プログラム表現(抽象構文木)に取り組んでいる。
コード検索では、プログラム構造をクラス/メソッドの形で活用し、LLMの根本原因理解を強化し、反復探索によるコンテキストの検索を効果的に行う。
テストを使用したスペクトルベースのフォールトローカライゼーションは、テストスーツが利用可能である限り、コンテキストをさらにシャープにする。
300のGitHubイシューからなるSWE-bench-liteの実験は、GitHubイシュー(SWE-bench-liteの22~23%)の解決における有効性の向上を示している。
2294のGitHubイシューからなる完全なSWEベンチでは、AutoCodeRoverが約16%の問題を解決した。
我々のワークフローは自律的なソフトウェアエンジニアリングを可能にし、将来、LLMから自動生成されたコードを自律的に改善できると仮定する。
関連論文リスト
- Human-In-the-Loop Software Development Agents [12.830816751625829]
大規模言語モデル(LLM)は、ソフトウェア開発タスクを自動的に解決するために導入された。
ソフトウェア開発のためのHuman-in-the-loop LLMベースのエージェントフレームワーク(HULA)を紹介する。
私たちは社内使用のために、HULAフレームワークをAtlassianに設計、実装、デプロイしています。
論文 参考訳(メタデータ) (2024-11-19T23:22:33Z) - Lingma SWE-GPT: An Open Development-Process-Centric Language Model for Automated Software Improvement [62.94719119451089]
Lingma SWE-GPTシリーズは、現実世界のコード提出活動から学び、シミュレーションする。
Lingma SWE-GPT 72BはGitHubの30.20%の問題を解決する。
論文 参考訳(メタデータ) (2024-11-01T14:27:16Z) - Evaluating Software Development Agents: Patch Patterns, Code Quality, and Issue Complexity in Real-World GitHub Scenarios [13.949319911378826]
この調査は、500の現実のGitHubイシューで上位10のエージェントから4,892のパッチを評価した。
一人のエージェントが支配的であり、170の問題が未解決であり、改善の余地があった。
ほとんどのエージェントはコードの信頼性とセキュリティを維持し、新しいバグや脆弱性を避けた。
一部のエージェントはコードの複雑さを増し、多くの重複を減らし、コードの臭いを最小限にした。
論文 参考訳(メタデータ) (2024-10-16T11:33:57Z) - RepoGraph: Enhancing AI Software Engineering with Repository-level Code Graph [63.87660059104077]
RepoGraphは、現代のAIソフトウェアエンジニアリングソリューションのためのリポジトリレベルの構造を管理するプラグインモジュールである。
RepoGraphはすべてのシステムのパフォーマンスを大幅に向上させ、オープンソースフレームワークの間で新たな最先端技術を生み出している。
論文 参考訳(メタデータ) (2024-10-03T05:45:26Z) - SpecRover: Code Intent Extraction via LLMs [7.742980618437681]
仕様推論は、高品質なプログラムパッチを作成するのに役立ちます。
当社のアプローチであるSpecRover(AutoCodeRover-v2)は,オープンソースのLLMエージェントであるAutoCodeRover上に構築されています。
2294のGitHubイシューからなる完全なSWE-Benchの評価では、AutoCodeRoverよりも50%以上改善されている。
論文 参考訳(メタデータ) (2024-08-05T04:53:01Z) - Agentless: Demystifying LLM-based Software Engineering Agents [12.19683999553113]
Agentless - ソフトウェア開発の問題を自動解決するためのエージェントレスアプローチです。
Agentlessはエージェントベースのアプローチの冗長で複雑な設定と比較すると、ローカライゼーション、修復、パッチ検証の3フェーズプロセスをシンプルに採用している。
人気の高いSWE-bench Liteベンチマークの結果から、Agentlessは驚くほど高いパフォーマンスと低コストを達成できることがわかった。
論文 参考訳(メタデータ) (2024-07-01T17:24:45Z) - Agent-Driven Automatic Software Improvement [55.2480439325792]
本提案は,Large Language Models (LLMs) を利用したエージェントの展開に着目して,革新的なソリューションの探求を目的とする。
継続的学習と適応を可能にするエージェントの反復的性質は、コード生成における一般的な課題を克服するのに役立ちます。
我々は,これらのシステムにおける反復的なフィードバックを用いて,エージェントの基盤となるLLMをさらに微調整し,自動化されたソフトウェア改善のタスクに整合性を持たせることを目指している。
論文 参考訳(メタデータ) (2024-06-24T15:45:22Z) - Automatic Programming: Large Language Models and Beyond [48.34544922560503]
我々は,プログラマの責任に関するコード品質,セキュリティ,関連する問題について検討する。
ソフトウェア工学の進歩が自動プログラミングを実現する方法について論じる。
我々は、近い将来のプログラミング環境に焦点をあてて、先見的な視点で締めくくります。
論文 参考訳(メタデータ) (2024-05-03T16:19:24Z) - DevBench: A Comprehensive Benchmark for Software Development [72.24266814625685]
DevBenchは、ソフトウェア開発ライフサイクルのさまざまな段階にわたる大規模言語モデル(LLM)を評価するベンチマークである。
GPT-4-Turboを含む現在のLLMは、DevBench内での課題の解決に失敗している。
本研究は,LLMを現実のプログラミングアプリケーションに展開する上で,現実的な知見を提供するものである。
論文 参考訳(メタデータ) (2024-03-13T15:13:44Z) - Experiential Co-Learning of Software-Developing Agents [83.34027623428096]
大規模言語モデル(LLM)は、特にソフトウェア開発において、様々な領域に大きな変化をもたらした。
本稿では,新しいLLM学習フレームワークであるExperiential Co-Learningを紹介する。
実験では、このフレームワークにより、エージェントは、目に見えないソフトウェア開発タスクをより効果的に対処できることを示した。
論文 参考訳(メタデータ) (2023-12-28T13:50:42Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。