目次
MANTRA: Enhancing Automated Method-Level Refactoring with Contextual RAG and Multi-Agent LLM Collaboration
この論文は、コードのメソッドレベルのリファクタリングを自動化するために、文脈に基づく生成とマルチエージェント協調を活用したMANTRAというフレームワークを提案し、その効果を実証しています。
MANTRAは、文脈認識型の情報検索とマルチエージェントの協調を活用して、従来のリファクタリング手法に比べてコードのコンパイル成功率を大幅に向上させ、開発者が手動で行うリファクタリングに匹敵する可読性を実現しています。
論文:https://arxiv.org/abs/2503.14340


以下は、弊社AI開発ツール「IXV」を用いてこの論文を要約したものです。見出しや章立てが元論文とは異なる場合があります。
概要
ソフトウェアシステムの維持とスケーリングは、効果的なコードリファクタリングに大きく依存していますが、このプロセスは依然として労力を要し、開発者は既存のコードベースを慎重に分析し、新たな欠陥を導入しないようにする必要があります。最近の進展は、大規模言語モデル(LLM)を活用してリファクタリングタスクを自動化していますが、現在のソリューションは範囲が制約されており、コードのコンパイル可能性やテストの成功を保証するメカニズムが欠けています。
本研究では、方法レベルのリファクタリングを自動化する包括的なLLMエージェントベースのフレームワーク「MANTRA」を紹介します。MANTRAは、文脈認識型のリトリーバル拡張生成、協調型のマルチエージェントコラボレーション、および言語強化学習を統合し、リファクタリング中の人間の意思決定を模倣しながら、コードの正確性と可読性を保持します。703件の「純粋なリファクタリング」(すなわち、構造的改善のみを含むコード変更)の実例を10の代表的なJavaプロジェクトから抽出した実証研究では、最も一般的な6つのリファクタリング操作をカバーしています。
実験結果は、MANTRAがベースラインのLLMモデル(RawGPT)を大幅に上回り、コンパイルされてすべてのテストに合格するコードを生成する成功率が82.8%(582/703)であるのに対し、RawGPTはわずか8.7%(61/703)であることを示しています。さらに、IntelliJのLLM駆動のリファクタリングツール(EM-Assist)と比較すると、MANTRAはメソッド抽出変換の生成において50%の改善を示しています。37人のプロの開発者を対象としたユーザビリティ調査でも、MANTRAによって実施されたリファクタリングは、人間が書いたコードと同等に可読性と再利用性があると認識され、場合によってはさらに好意的に評価されました。これらの結果は、MANTRAの実用的な利点を強調し、ソフトウェアリファクタリングタスクの自動化を進めるLLMベースのシステムの成長する可能性を強調しています。
論文要約: MANTRAによる自動化メソッドレベルリファクタリングの強化
1. はじめに
ソフトウェアシステムの維持とスケーリングは、効果的なコードリファクタリングに依存しています。このプロセスは開発者に多くの労力を要求し、既存のコードベースを慎重に分析する必要があります。近年、大規模言語モデル(LLM)を活用したリファクタリングの自動化が進められていますが、既存のソリューションはその範囲が限られており、コードのコンパイル可能性やテストの成功を保証するメカニズムが不足しています。これを受けて、本研究では「MANTRA」と呼ばれる新たなLLMエージェントベースのフレームワークを提案します。
2. MANTRAの概要
MANTRAは、以下の3つの主要なコンポーネントを統合しています。
- 文脈に応じた検索強化生成(Context-Aware Retrieval-Augmented Generation): リファクタリングの文脈を把握し、適切な情報を基にコード生成を行います。
- 協調的マルチエージェントコラボレーション: 複数のエージェントが協力してリファクタリング作業を進め、その効果を高めます。
- 言語強化学習(Verbal Reinforcement Learning): フィードバックを活用してモデルの出力を改善し、生成されるコードの品質を向上させます。
3. 実験方法
本研究では、703の「純粋なリファクタリング」(構造的改善に限定したコード変更)事例を対象に、10の代表的なJavaプロジェクトからデータを抽出しました。最も一般的な6つのリファクタリング操作をカバーしています。
3.1 ベースラインモデルとの比較
MANTRAの性能は、従来のモデルであるRawGPTと比較されました。実験の結果、MANTRAは703の事例中582(82.8%)で成功し、全てのテストを通過しました。一方、RawGPTはわずか61(8.7%)の成功率にとどまりました。
3.2 ユーザビリティスタディ
37人のプロフェッショナル開発者を対象にしたユーザビリティスタディでは、MANTRAによるリファクタリングが人間が書いたコードと同等以上の可読性と再利用性を持つと評価されました。この調査で得られたフィードバックは、MANTRAの有用性をさらに強調しています。
4. 結果の考察
実験結果から、MANTRAはIntelliJのLLM駆動のリファクタリングツール(EM-Assist)と比較して、Extract Method変換の生成において50%の改善を示しました。これにより、MANTRAの実用的な利点と、ソフトウェアリファクタリングタスクの自動化におけるLLMベースのシステムの可能性が示されました。
5. 結論
本研究は、ソフトウェア開発におけるリファクタリングの自動化に新しいアプローチを提示し、MANTRAの導入が開発者の負担を軽減し、品質の高いソフトウェアの維持と進化を促進する可能性を示唆しています。