2ヶ月前
コードから正解へ:階層的デバッグによるコード生成の最終段階の閉じ込み
Yuling Shi, Songsong Wang, Chengcheng Wan, Xiaodong Gu

要約
大規模言語モデルはコード生成において大きな進歩を遂げていますが、生成されたコードの合格率は微妙なエラーによってボトルネックとなっており、特に複雑な問題ではテストを通過するために人間の介入が必要となることが多いです。既存の大規模言語モデル(LLM)に基づくデバッグシステムは、生成されたプログラムを単一の単位として扱い、低レベルの構文エラーから高レベルのアルゴリズム的な欠陥まで、異なる粒度でのバグに対処することができません。本論文では、Multi-Granularity Debugger (MGDebugger) を紹介します。これは、異なる粒度でバグを分離し、特定し、解決することにより階層的にコードをデバッグするシステムです。MGDebugger は問題のあるコードをサブ関数の階層木構造に分解し、各レベルが特定の粒度のエラーを表すようにします。デバッグ中には、各サブ関数を分析し、下位から上位へと反復的にバグを解決します。各サブ関数を効果的にテストするために、我々は LLM 模擬 Python 実行環境(LLM-simulated Python executor)を提案します。この環境はコード実行を追跡し、重要な変数状態を記録することでエラーを正確に特定します。広範な実験結果は MGDebugger が既存のデバッグシステムよりも優れており、HumanEval におけるシード世代からの精度向上率が 18.9% であり、HumanEvalFix における修復成功率が 97.6% であることを示しています。さらに、MGDebugger は異なるカテゴリや難易度レベルにわたるバグも効果的に修正できることから、その堅牢性と有効性が確認されています。