本研究は、LLMを用いたエンティティ不整合バグの自動検出手法について取り組んでいる。エンティティ不整合バグは、プログラムの正常な動作を損なう深刻な問題であるが、従来の静的解析やダイナミックテストでは検出が困難であった。
研究では、まず GPT-4 を用いたバグ検出の性能を測定した。その結果、GPT-4 は一定の精度で EIB を検出できるものの、多くの誤検出も行うことが分かった。これは、GPT-4 がコードの文脈に関係のない部分に注目してしまうためである。
そこで本研究では、WitheredLeafと呼ばれる新しいシステムを提案した。WitheredLeafは、小規模なコード専用言語モデルを用いて最初に疑わしい箇所を絞り込み、その後GPT-4で詳細な分析を行うというカスケード型のアプローチをとる。
具体的には、まずCodeBERTを使ってほとんどの EIB のない箇所を除外し、その後Code Llama 7Bで残った疑わしい箇所を特定する。最後にGPT-4で詳細な分析を行い、EIBを報告する。
この手法により、WitheredLeafは従来のGPT-4単体の手法に比べて、検出精度を大幅に向上させることができた。実際に、154のGitHubリポジトリ(1,000スター以上)を分析した結果、123件の新しいバグを発見し、そのうち45%は通常の動作を妨害できるものであった。さらに、69件の修正提案を行い、27件が統合された。
In un'altra lingua
dal contenuto originale
arxiv.org
Approfondimenti chiave tratti da
by Hongbo Chen,... alle arxiv.org 05-06-2024
https://arxiv.org/pdf/2405.01668.pdfDomande più approfondite