
要約
プログラム内のエラーを修正する問題は、長年にわたり多くの関心を寄せられてきた。効果的なコード修正ツールを構築する際の主要な課題は、広範なエラーを捉えつつも高い精度を維持することにある。本論文では、この課題に取り組み、新しい学習ベースのシステムであるTFixを提案する。TFixはプログラムのテキストを直接処理し、コード修正の問題をテキストからテキストへの変換(text-to-text)タスクとして定式化する。これにより、自然言語で事前に学習された強力なTransformerベースのモデルを活用し、GitHubのコミットから得られた大規模かつ高品質なデータセットを用いて微調整(fine-tuning)することで、コード修正の生成を可能にする。TFixは特定のプログラミング言語やエラーの種類に限定されず、実際、人気のある静的解析ツールが報告する52種類の異なるエラー種別を同時に微調整することにより、精度を向上させた。JavaScriptプログラムの大規模データセットを用いた評価において、TFixは実用的に有効であることが示された。具体的には、67%のケースでエラーを修正するコードを自動生成でき、既存の学習ベースのアプローチを顕著に上回った。