要約
自動プログラム修復は、システムの信頼性とユーザー エクスペリエンスに対するソフトウェアのバグの影響を軽減する強力な技術として登場しました。
この文書では、大規模言語モデル (LLM) に基づく自律エージェントを通じてプログラム修復の課題に対処する最初の作品である RepairAgent について紹介します。
固定プロンプトまたは固定フィードバック ループでモデルをプロンプトする既存の深層学習ベースのアプローチとは異なり、私たちの研究では LLM を、適切なツールを呼び出してバグを修正するためのアクションを自律的に計画および実行できるエージェントとして扱います。
RepairAgent は、バグに関する情報の収集、修復材料の収集、修正の検証を自由に交互に行いながら、収集した情報と以前の修正試行からのフィードバックに基づいてどのツールを呼び出すかを決定します。
RepairAgent を有効にする主な機能には、プログラムの修復に役立つ一連のツール、LLM がこれらのツールと対話できるようにする動的に更新されるプロンプト形式、およびエージェントがツールを呼び出すようにガイドする有限状態マシンが含まれます。
人気の Defects4J データセットに対する私たちの評価では、従来の技術では修正できなかった 39 個のバグを含む 164 個のバグを自律的に修復する RepairAgent の有効性が実証されました。
LLM との対話には、バグあたり平均 270,000 トークンのコストがかかります。これは、OpenAI の GPT-3.5 モデルの現在の価格設定では、バグあたり 14 セントに相当します。
私たちの知る限り、この研究はプログラム修復のための自律的な LLM ベースのエージェントを初めて提示し、ソフトウェア エンジニアリングにおける将来のエージェント ベースの技術への道を切り開きます。
要約(オリジナル)
Automated program repair has emerged as a powerful technique to mitigate the impact of software bugs on system reliability and user experience. This paper introduces RepairAgent, the first work to address the program repair challenge through an autonomous agent based on a large language model (LLM). Unlike existing deep learning-based approaches, which prompt a model with a fixed prompt or in a fixed feedback loop, our work treats the LLM as an agent capable of autonomously planning and executing actions to fix bugs by invoking suitable tools. RepairAgent freely interleaves gathering information about the bug, gathering repair ingredients, and validating fixes, while deciding which tools to invoke based on the gathered information and feedback from previous fix attempts. Key contributions that enable RepairAgent include a set of tools that are useful for program repair, a dynamically updated prompt format that allows the LLM to interact with these tools, and a finite state machine that guides the agent in invoking the tools. Our evaluation on the popular Defects4J dataset demonstrates RepairAgent’s effectiveness in autonomously repairing 164 bugs, including 39 bugs not fixed by prior techniques. Interacting with the LLM imposes an average cost of 270,000 tokens per bug, which, under the current pricing of OpenAI’s GPT-3.5 model, translates to 14 cents of USD per bug. To the best of our knowledge, this work is the first to present an autonomous, LLM-based agent for program repair, paving the way for future agent-based techniques in software engineering.
arxiv情報
著者 | Islem Bouzenia,Premkumar Devanbu,Michael Pradel |
発行日 | 2024-10-28 17:33:27+00:00 |
arxivサイト | arxiv_id(pdf) |
提供元, 利用サービス
arxiv.jp, Google