Core Concepts
LLMエージェントのシナジーを活用し、バグの特定、修正、分析を自動化する統一的なデバッグフレームワークを提案する。
Abstract
本論文は、LLMベースの統一的なデバッグフレームワーク「FixAgent」を提案している。FixAgentは、バグの特定、修正、分析を自動化するための3つのLLMエージェントから構成される。
ローカライザー: バグのある箇所を特定する
リペアラー: バグを修正するパッチを生成する
リビジター: バグの原因と修正の理由を分析する
各エージェントは、ラバーダッキング(プログラムを自然言語で説明することで問題を発見する手法)に着想を得た設計を採用している。具体的には以下の3つの設計を導入している:
エージェント間の専門分化とシナジー: 各エージェントが特定の役割に特化し、連携して問題を解決する。
中間変数の追跡: エージェントにプログラムの内部状態を説明させることで、ロジックの理解を深める。
プログラムコンテキストの活用: プログラムの仕様や依存関係などのコンテキスト情報を活用する。
さらに、テストケースの自動生成エージェントを追加し、生成されたパッチの過適合を防ぐ。
実験の結果、FixAgentは広く使われるデータセットのバグを高い精度で修正できることが示された。特に、従来のAPRツールや単一のLLMよりも優れた性能を発揮した。また、各設計の有効性も確認された。
Stats
デバッグに50%以上の時間を費やすと報告されている
バグの修正コストは年間数十億ドルに上る
Quotes
"デバッグは時間のかかるプロセスであり、バグの特定と修正が含まれる"
"LLMはコーディング関連タスクで大きな可能性を示している"