継続更新

LLMを用いた静的バグ検出における誤検知の削減:産業界における実証研究

静的解析ツールは産業界で不可欠ですが、95%を超える高い誤検知率が開発者の大きな負担となっており、Tencentの調査では1件の警告を確認するのに平均10分から20分を費やしている実態が判明しました。

LLMを用いた静的バグ検出における誤検知の削減:産業界における実証研究 の図解
論文図解

TL;DR(結論)

静的解析ツールは産業界で不可欠ですが、95%を超える高い誤検知率が開発者の大きな負担となっており、Tencentの調査では1件の警告を確認するのに平均10分から20分を費やしている実態が判明しました。 本研究では、Tencentの独自ツールBkCheckが報告した433件の警告データセットを用い、LLMと静的解析を組み合わせたハイブリッド手法が誤検知を94%から98%削減しつつ、高い再現率を維持できることを実証しました。 LLMによる自動判定は1件あたり約2.1秒から109.5秒、費用は0.0011ドルから0.12ドルと極めて低コストであり、手動レビューと比較して数桁のオーダーでの効率化とコスト削減を実現できることが明らかになりました。

なぜこの問題か

ソフトウェアのセキュリティ、信頼性、保守性を確保する上で、静的解析ツール(SAT)は極めて重要な役割を果たしています。これらのツールは、プログラムを実際に実行することなくコードベースをスキャンし、開発プロセスの早期段階でバグを特定することを可能にします。しかし、実用上の大きな障壁となっているのが、大規模なエンタープライズシステムにおける極めて高い誤検知率です。静的解析ツールは、健全性を保証するためにプログラムの挙動を過剰に近似して評価する性質があり、その結果として実際には到達不可能な実行パスに対しても警告を発してしまう傾向があります。先行研究によれば、Linuxカーネルのような大規模プロジェクトにおいて、既存のオープンソースツールはヌルポインタ参照(NPD)の検出で95%以上の誤検知を出すことが報告されています。 このような誤検知の氾濫は、開発現場に深刻な非効率をもたらしています。中国のIT大手であるTencentにおける調査では、開発者が1つの警告を精査して真偽を判定するために、平均して10分から20分もの貴重な時間を費やしていることが明らかになりました。…

核心:何を提案したのか

本研究は、Tencentの広告およびマーケティングサービス(AMS)部門における大規模ソフトウェアを対象に、LLMを用いた誤検知削減手法の産業界における初の大規模な実証研究を実施したものです。Tencentは、ソーシャルメディアやデジタルエンターテインメント、クラウドコンピューティングなど多岐にわたる事業を展開し、数十億人のアクティブユーザーを抱える世界最大級のIT企業の一つです。研究チームは、Tencentの実際の静的バグ検出パイプラインからデータを収集し、産業界の実態に即した評価を行いました。具体的には、Tencentが独自に開発した静的解析ツールである「BkCheck」が報告した実際のバグ警告に基づき、433件の警告(328件の誤検知と105件の真のバグ)を含むデータセットを構築しました。…

続きはログイン/プランで閲覧できます。

続きを読む

ログインで全文を月 2 本まで無料で読めます

ログインして続きを読む

無料プランで全文は月 2 本まで読めます。

Related

次に読む