論文の概要: 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から自動生成されたコードを自律的に改善できると仮定する。
関連論文リスト
- Automatic Programming: Large Language Models and Beyond [48.34544922560503]
我々は,プログラマの責任に関するコード品質,セキュリティ,関連する問題について検討する。
ソフトウェア工学の進歩が自動プログラミングを実現する方法について論じる。
我々は、近い将来のプログラミング環境に焦点をあてて、先見的な視点で締めくくります。
論文 参考訳(メタデータ) (2024-05-03T16:19:24Z) - On the effectiveness of Large Language Models for GitHub Workflows [9.82254417875841]
大規模言語モデル(LLM)は、様々なソフトウェア開発タスクにおいてその効果を実証している。
異なるレベルのプロンプトを持つ5つのワークフロー関連タスクにおけるLLMの有効性を理解するための、最初の総合的研究を行う。
現状のLLMと細調整した3種類のLLMの評価結果から,LLMの現在の有効性と欠点について,様々な興味深い知見が得られた。
論文 参考訳(メタデータ) (2024-03-19T05:14:12Z) - Intelligent Software Tooling for Improving Software Development [3.1763879286782966]
ディープラーニング(DL)は、ソフトウェア開発プロセスを含む多くの領域において、自動化の大幅な進歩を示しています。
この成功の主な理由は、GitHub経由で利用可能なオープンソースコードや、トレーニング対象とするRICOとReDRAWを備えたモバイルグラフィカルユーザインタフェース(GUI)の画像データセットなど、大規模なデータセットが利用可能であることだ。
論文 参考訳(メタデータ) (2023-10-17T01:29:07Z) - SWE-bench: Can Language Models Resolve Real-World GitHub Issues? [80.52201658231895]
SWE-benchは、実際のGitHub問題から引き出された2,294ドルのソフトウェアエンジニアリング問題と、人気のあるPythonリポジトリ12ドルのプルリクエストで構成される評価フレームワークである。
我々は、最先端のプロプライエタリモデルと微調整モデルSWE-Llamaの両方が、最も単純な問題だけを解決できることを示します。
論文 参考訳(メタデータ) (2023-10-10T16:47:29Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - Copiloting the Copilots: Fusing Large Language Models with Completion
Engines for Automated Program Repair [15.391586175711907]
大規模言語モデル(LLM)は、様々なコーディングタスクを開発者を支援する上で、"コパイロット"として有用であることが示されている。
修復プロセス中により有効なパッチを合成することにより、AIの"コパイロット"(すなわち、LLM)をさらに協調する一般的なコード生成フレームワークであるRepilotを提案する。
広く使用されているDefects4j 1.2と2.0データセットのサブセットに対する評価では、Repilotは、それぞれ27%と47%のバグを修正することで、最先端の技術よりも優れています。
論文 参考訳(メタデータ) (2023-09-01T17:54:14Z) - Communicative Agents for Software Development [79.86905471184195]
ChatDevはチャットを利用した仮想ソフトウェア開発会社で、確立したウォーターフォールモデルを反映している。
各ステージは、プログラマ、コードレビュアー、テストエンジニアといった"ソフトウェアエージェント"のチームが参加し、協調的な対話を促進する。
ChatDevは潜在的な脆弱性を特定し、信頼できる効率とコスト効率を維持しながら幻覚を正す。
論文 参考訳(メタデータ) (2023-07-16T02:11:34Z) - The GitHub Development Workflow Automation Ecosystems [47.818229204130596]
大規模なソフトウェア開発は、非常に協力的な取り組みになっています。
この章では、開発ボットとGitHub Actionsのエコシステムについて解説する。
この領域における最先端技術に関する広範な調査を提供する。
論文 参考訳(メタデータ) (2023-05-08T15:24:23Z) - What is it like to program with artificial intelligence? [10.343988028594612]
大規模言語モデルは、自然言語で表される様々な問題を解決するためにコードを生成することができる。
この技術はすでに、少なくとも1つの広く使用されているプログラミングエディタ拡張、GitHub Copilotで商用化されている。
我々は,大規模言語モデル(LLM支援プログラミング)を用いたプログラミングが,プログラマ支援の事前概念化とどのように似ており,異なるのかを考察する。
論文 参考訳(メタデータ) (2022-08-12T10:48:46Z) - BigIssue: A Realistic Bug Localization Benchmark [89.8240118116093]
BigIssueは、現実的なバグローカライゼーションのためのベンチマークである。
実際のJavaバグと合成Javaバグの多様性を備えた一般的なベンチマークを提供する。
われわれは,バグローカライゼーションの最先端技術として,APRの性能向上と,現代の開発サイクルへの適用性の向上を期待している。
論文 参考訳(メタデータ) (2022-07-21T20:17:53Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。