コードから正確性へ:階層デバッグを用いたコード生成の最終段階のクローズFrom Code to Correctness: Closing the Last Mile of Code Generation with
Hierarchical Debugging
大規模言語モデルはコード生成において大きな進歩を遂げてきましたが、生成されたコードの合格率は微妙なエラーに制約されており、特に複雑な問題ではテストをパスするために人間の介入がしばしば必要となります。既存のLLMベースのデバッグシステムは生成されたプログラムを一枚岩の単位として扱い、低レベルの構文エラーから高レベルのアルゴリズム上の欠陥まで、複数の粒度でバグを解決することができません。本論文では、Multi-Granularity Debugger(MGDebugger)を導入し、さまざまな粒度でのバグを分離、特定、解決する階層型コードデバッガーを提案します。MGDebuggerは問題のあるコードをサブファンクションの階層木構造に分解し、各レベルが特定のエラーの粒度を表します。デバッグ中には、各サブファンクションを分析し、ボトムアップの方法でバグを反復的に解決します。各サブファンクションを効果的にテストするために、LLMシミュレートされたPython実行エンジンを提案し、コードの実行をトレースし、重要な変数の状態を追跡してエラーを正確に特定します。広範な実験により、MGDebuggerが既存のデバッグシステムを上回り、HumanEvalにおけるシード生成の正解率を18.9%向上させ、HumanEvalFixにおける97.6%の修復成功率を達成することが示されました。さらに、MGDebuggerは異なるカテゴリや難易度レベルのバグを効果的に修正し、その堅牢性と効果を示しています。