ITmedia NEWS > 科学・テクノロジー >
ITmedia AI+ AI活用のいまが分かる

ChatGPTはバグ修正に使えるの? ドイツと英国の研究者らが性能を分析Innovative Tech

» 2023年02月06日 08時00分 公開
[山下裕毅ITmedia]

Innovative Tech:

このコーナーでは、テクノロジーの最新研究を紹介するWebメディア「Seamless」を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。Twitter: @shiropen2

 ドイツのJohannes Gutenberg University Mainzと英University College Londonに所属する研究者らが発表した論文「An Analysis of the Automatic Bug Fixing Performance of ChatGPT」は、ChatGPTが自動バグ修正にどれほどの精度を発揮するのかを検証した研究報告である。

 プログラマーがソフトウェアのバグを発見し修正する作業を支援するために、バグ修正ソフトウェアパッチを自動的に提案する自動プログラム修正(APR)システムが導入されている。主要なAPRはコストがかかるため、実行可能なパッチが開発者に提示されるまでに数時間かかってしまう。

 最近では、ChatGPTでもソースコードに関する議論、例えば不正なコードの修正案を求めることにも利用できる。だが、この提案の質はまだ不明である。

 そこで、この研究ではChatGPTの自動バグフィックス性能を評価・分析する。実験では、ChatGPTやCodex、CoCoNut、標準のAPRの4つの異なるシステムに40個のバグのあるコード(QuixBugsベンチマークセット)を与えた。

 ChatGPTには、コードと「このプログラムにはバグがあるのでしょうか?どのように修正すればよいのでしょうか?」という文章と共にチャット機能に入力する。またChatGPTのヒューリスティックな性質を考慮し、この問を4回繰り返す。さらにChatGPTにヒントを提供し、ChatGPTの修正率が向上するかどうかを確認する。

ChatGPTのチャット機能に入力した内容

 結果、ChatGPTはヒントなしに40問中19問の問題を解決し、Codexは21問、CoCoNutは19問、標準のAPRアプローチは7問を解決した。ChatGPTはCodexやCoCoNutと同等の性能を示し、標準のAPRアプローチより顕著に優れた結果を示した。

 ChatGPTにチャット機能を介してヒントを与えると、今度は31問を解決し、他の比較対象を超えた。この結果は、ChatGPTの対話で要求をより詳細に指定できるという利点が成功率を高めることになった。

ChatGPTとのやりとり(1) 見やすくするため、Reqest(リクエスト)とResponse(レスポンス)を付け加えている
ChatGPTとのやりとり(2) 見やすくするため、Reqest(リクエスト)とResponse(レスポンス)を付け加えている

Source and Image Credits: Sobania, D., Briesch, M., Hanna, C., & Petke, J.(2023). An Analysis of the Automatic Bug Fixing Performance of ChatGPT. arXiv preprint arXiv:2301.08653.



Copyright © ITmedia, Inc. All Rights Reserved.