Core Concepts
本研究では、GPT-3.5-turboによって生成されたCプログラムに含まれる脆弱性を包括的に分析し、その特徴を明らかにする。
Abstract
本研究では、GPT-3.5-turboを使用してCプログラムを生成し、それらのプログラムに含まれる脆弱性を形式的検証手法であるESBMCを用いて分析した。
GPT-3.5-turboを使用して、様々なタスクを実行するCプログラムを112,000個生成した。
生成されたプログラムの98%がコンパイル可能であることを確認した。
ESBMCを使用して、生成されたプログラムの脆弱性を検出・分類した。
検出された脆弱性は197,800件に及び、そのほとんどがバッファオーバーフロー、整数オーバーフロー、配列境界違反などの深刻な脆弱性であった。
検出された脆弱性をCWEに分類し、その特徴を分析した。
生成されたプログラムを使用して、ESBMCやCBMCモジュール、Clangコンパイラの不具合を発見し、開発者に報告した。
本研究で作成したFormAIデータセットは、脆弱性検出ツールのベンチマークや機械学習アルゴリズムの訓練に役立つ貴重なリソースとなる。
Stats
プログラムの総行数は8,848,765行で、1プログラムあたり平均79行である。
プログラムの最大行数は600行を超えるものがあった。