レポート タイトルとノイズの多いデータのみに基づいてセキュリティ バグ レポートを特定する

Mayana Pereira

CELA データ サイエンス
Microsoft

Scott Christiansen

顧客セキュリティおよび信頼
Microsoft

"要約" - セキュリティ バグ レポート (SBR) の特定は、ソフトウェア開発ライフサイクルにおいて不可欠な手順です。 教師あり機械学習ベースのアプローチでは、通常、バグ レポート全体をトレーニングに利用できること、またラベルがノイズ フリーであることが前提となっています。 私たちの知る限り、この調査は、タイトルだけが利用可能であり、ラベル ノイズが含まれる場合でも、SBR に対して正確なラベル予測が可能であることを示すための最初の調査です。

"インデックスの用語" - 機械学習、間違ったラベル付け、ノイズ、セキュリティ バグ レポート、バグ リポジトリ

I. 概要

ソフトウェア開発チームは、報告されたバグの中でセキュリティ関連の問題を急いで識別する必要があります。このような問題は、コンプライアンス要件を満たしたり、ソフトウェアと顧客データの整合性を確保したりするために、より迅速な解決が求められるからです。

機械学習および人工知能ツールを使用すると、確かにソフトウェア開発が迅速かつアジャイルで、しかも正確になります。 何人かの研究者が、セキュリティ バグを特定するという問題に機械学習を応用しています [2]、[7]、[8]、[18]。これまでに公表されている研究では、機械学習モデルのトレーニングとスコア付けにバグ レポート全体を利用できることが前提になっていました。 しかし、実際は必ずしもそうとは限りません。 バグ レポートの一部が利用できない状況があります。 たとえば、バグ レポートには、パスワードや PII (個人を特定できる情報) などの機密データが含まれている場合があります。これがまさに、現在 Microsoft が直面している事態なのです。 したがって、バグ レポートのタイトルしか利用できない場合など、使用できる情報が少ない場合でも適切にセキュリティ バグを識別できる方法を確立することが重要になってきます。

さらに、バグ リポジトリには、多くの場合、間違ってラベル付けされたエントリが含まれています [7]。セキュリティ以外のバグ レポートがセキュリティ関連として分類されていたり、その逆のケースもあります。 間違ったラベル付けが発生する理由はいくつもあり、開発チームにセキュリティの専門知識が不足しているといった場合から、特定の問題にあいまいさが伴っている (たとえば、セキュリティ以外のバグを悪用して間接的にセキュリティ上の問題が引き起こされることがあります) といった場合に至るまでさまざまです。 SBR のラベル付けが間違っていると、セキュリティの専門家はコストと時間のかかる労力を払ってバグ データベースを手動で確認する必要があるため、これは深刻な問題につながります。 ノイズがさまざまな分類子にどのような影響を与えるか、また堅牢 (または脆弱) な各種機械学習手法が、さまざまな種類のノイズで汚染されたデータ セットにどのように対処しているかを理解することは、ソフトウェア エンジニアリングの実践に自動分類を取り入れる際に取り組まなければならない問題です。

予備的な研究では、バグ リポジトリには本来的にノイズが含まれていること、また、そのノイズが機械学習分類子のパフォーマンスに悪影響を与える可能性があるという主張はなされています [7]。 しかし、セキュリティ バグ レポート (SBR) の識別という問題に関連して、さまざまなレベルと種類のノイズが、さまざまな教師あり機械学習アルゴリズムのパフォーマンスにどのように影響するかということについての体系的かつ定量的な研究はまだありません。

本研究では、トレーニングとスコアリングにタイトルだけしか使用できない場合でも、バグ レポートの分類が可能であることを示します。 知る限り、これは上記の内容を確認しようとする初めての研究です。 また、これはバグ レポートを分類する際のノイズの影響に関する初めての体系的研究でもあります。 クラスに依存しないノイズに対する 3 つの機械学習手法 (ロジスティック回帰、単純ベイズ、AdaBoost) の堅牢性について比較研究を行います。

いくつかの単純な分類子について、ノイズの一般的影響を捉える分析モデルが複数ありますが [5]、[6]、これらの結果では、精度に対するノイズの影響に関して厳密な範囲が指定されておらず、また、その有効性は特定の機械学習手法に限定されます。 機械学習モデルにおけるノイズの影響を正確に分析する際は、通常、計算実験が行われます。 このような分析が、ソフトウェア測定データ [4] から衛星画像分類 [13] や医療データ [12] に至るまで、さまざまなシナリオについて行われています。 ただし、これらの分析はデータ セットの性質や基盤となる分類の問題に強く依存しているため、私たちが対象としている固有の問題をこれらの結果によって説明することはできません。 確認できる限りでは、特にセキュリティ バグ レポートの分類に対する、ノイズの多いデータ セットの影響という問題に関しては、公表されている結果はこれまでありません。

本研究の貢献内容:

  • レポートのタイトルのみに基づいて、セキュリティ バグ レポート (SBR) を識別する分類器をトレーニングします。 私たちの知る限り、本研究はこれを実施した初めてのものです。 これまでの研究では、完全なバグ レポートが使用されるか、追加の補足機能を使用してバグ レポートが強化されていました。 タイトルのみに基づくバグの分類は、プライバシー上の懸念があるのために完全なバグ レポートを利用できないシナリオに特に関連性があります。 たとえば、パスワードやその他の機密データが含まれたバグ レポートがこれに該当します。

  • また、本研究は、SBR の自動分類に使用されるさまざまな機械学習モデルと手法におけるラベルのノイズトレランスに関する最初の体系的研究でもあります。 クラスに依存するノイズとクラスに依存しないノイズに対する 3 つの異なる機械学習手法 (ロジスティック回帰、単純ベイズ、AdaBoost) の堅牢性について比較研究を行います。

この論文の残りの部分は以下のとおりです。セクション II では、これまでに行われた研究のいくつかについて文献を示します。 セクション III では、データ セットと、データの事前処理方法について説明します。 セクション IV では手順について、セクション V では実験の分析結果について説明します。最後にセクション VI では、結論と今後の研究について説明します。

II. これまでの研究

バグ リポジトリへの機械学習の応用。

ほんの数例挙げるだけでも、セキュリティ バグの検出 [2]、[7]、[8]、[18]、バグの重複識別 [3]、バグのトリアージ [1]、[11] など、面倒なタスクを自動化しようとする試みの中で、テキスト マイニング、自然言語処理、および機械学習をバグ リポジトリに応用する研究に関するさまざまな文献が存在します。 理想的には、機械学習 (ML) と自然言語処理の組み合わせによって、バグ データベースの選別に必要な手動の作業が減り、これらのタスクを遂行するために必要な時間が短縮され、結果の信頼性が向上する可能性があります。

[7] の筆者たちは、バグの説明に基づいて SBR の分類を自動化する自然言語モデルを提案しています。 筆者たちは、トレーニング データ セット内のすべてのバグ説明からボキャブラリを抽出し、関連ワード、ストップ ワード (分類に無関係と思われる一般的な単語)、およびシノニムという 3 つのワード リストに手動で選別しました。 セキュリティ エンジニアによって評価されたデータのみでトレーニングされたセキュリティ バグ分類子のパフォーマンスと、一般のバグ報告者によってラベル付けされたデータでトレーニングされた分類子のパフォーマンスを比較しました。 セキュリティ エンジニアによってレビューを受けたデータでトレーニングを行った場合、モデルの効率は明らかに向上しますが、提案されたモデルは手動で生成されたボキャブラリに基づいているため、人力による選別に依存することになります。 さらに、さまざまなレベルのノイズがモデルにどの程度影響を与えるか、さまざまな分類子がノイズにどのように反応するか、また、クラスが異なるとノイズがパフォーマンスに与える影響も異なるかどうかといったことは分析されていません。

Zia et.al [18] バグ レポートに含まれる複数の種類の情報を使用します。これには、バグ レポートの非テキスト フィールド (メタ機能、時間、重大度、優先度など) とバグ レポートのテキスト コンテンツ (テキストの特徴、要約フィールドのテキストなど) が含まれます。 これらの特徴に基づき、自然言語処理と機械学習の手法を使用して SBR を自動的に識別するためのモデルが構築されました。 [8] の筆者たちは、同様の分析を実行しますが、さらに、教師ありと教師なしの機械学習手法のパフォーマンスを比較し、モデルをトレーニングするために必要なデータ量を調べました。

[2] の筆者たちも、さまざまな機械学習手法を調査し、レポートの説明に基づいて SBR または NSBR (セキュリティ以外のバグ レポート) としてバグを分類しています。 これらは、TF-IDF に基づくデータ処理とモデル トレーニングのためのパイプラインを提案しています。 彼らは、提案したパイプラインと、Bag-of-Words および単純ベイズに基づくモデルを比較しました。 Wijayasekara ら [16] は、テキスト マイニングの手法を使用して、頻出単語に基づいて各バグ レポートの特徴ベクトルを生成し、隠れた影響を持つバグ (HIB) を識別しています。 Yang ら [17] は、用語の頻度 (TF) と単純ベイズを使用して、影響の大きいバグ レポート (SBR など) を識別することを主張しました。 [9] の筆者たちは、バグの重大度を予測するモデルを提案しています。

ラベル ノイズ

ラベル ノイズを含むデータ セットを処理する際の問題については、広範な研究が行われています。 Frenay と Verleysen は [6] において、ノイズが含まれるさまざまな種類のラベルを識別するために、ラベル ノイズの分類法を提案しています。 筆者たちは、次の 3 種類のノイズを提案しています。すなわち、true クラスとインスタンスの特徴量の値に関係なく発生するラベル ノイズ、true ラベルにのみ依存するラベル ノイズ、および間違ったラベル付けの確率も特徴量の値に依存するラベル ノイズです。 私たちの研究では、最初の 2 種類のノイズを調査します。 理論的な観点から言えば、ラベル ノイズは、特定の場合 [14] を除き、通常はモデルのパフォーマンスを低下させます [10]。 一般に、堅牢なメソッドは、ラベル ノイズを処理する際にオーバーフィットの回避策を使用しています [15]。 分類におけるノイズの影響に関する研究は、衛星画像の分類 [13]、ソフトウェア品質の分類 [4]、内科領域の分類 [12] など、これまで多くの分野で行われています。 SBR の分類の問題については、ノイズを含むラベルの影響に関する緻密な定量化を扱った研究は、私たちの知る限りまだ発表されていません。 このシナリオでは、ノイズ レベル、ノイズの種類、およびパフォーマンス低下の間の正確な関係性がまだ確立されていません。 さらに、ノイズが存在するときに分類子がどのように動作するかを理解することは価値があります。 一般に、ソフトウェア バグ レポートのコンテキストにおいて、ノイズの多いデータ セットがさまざまな機械学習アルゴリズムのパフォーマンスに及ぼす影響を体系的に調べた研究が存在するかどうかは不明です。

III. データ セットの説明

使用したデータ セットは 1,073,149 のバグタイトルで構成され、そのうち 552,073 が SBR に対応し、521,076 が NSBR に対応します。 このデータは、2015 年、2016 年、2017 年、および 2018 年に Microsoft のさまざまなチームから収集されました。 すべてのラベルは、シグネチャベースのバグ検証システムによって取得されたか、または人力でラベル付けされたものです。 データ セット内のバグ タイトルは、問題の概要を示す、10 語程度の非常に短いテキストです。

A. データの前処理では、各バグ タイトルを空白スペースごとに解析し、トークンの一覧を生成しました。 トークンの各一覧は、次のように処理されます。

  • ファイル パスを表すトークンはすべて削除しました

  • 次の記号が存在するトークンは分割しました: { , (, ), -, }, {, [, ], }

  • ストップ ワード、数字のみで構成されているトークン、およびコーパス全体での出現回数が 5 回未満のトークンを削除しました。

IV. 方法

機械学習モデルのトレーニング プロセスは、主に次の 2 つの手順で構成されます。つまり、特徴ベクトルへのデータのエンコードと、教師あり機械学習分類子のトレーニングです。

A. 特徴ベクトルと機械学習の手法

1 つ目の部分では、[2] で使用されているように、単語の出現頻度 - 逆文書頻度アルゴリズム (TF-IDF) を使用して、特徴ベクトルにデータをエンコードします。 TF-IDF は、単語の出現頻度 (TF) とその逆文書頻度 (IDF) に重み付けする情報検索手法です。 各単語または用語には、それぞれの TF および IDF スコアがあります。 TF-IDF アルゴリズムでは、ドキュメントに出現する回数に基づいて、その単語に重要度が割り当てられますが、さらに重要なのは、データ セット内のタイトルのコレクション全体において、そのキーワードがどの程度の関連性を有しているかが確認される点です。 ここでは、単純ベイズ (NB)、ブースト デシジョン ツリー (AdaBoost)、ロジスティック回帰 (LR) という 3 つの分類手法をトレーニングし、比較しています。 これらの手法を選択したのは、文献の報告全体にわたって、これらがセキュリティ バグ レポートの識別という関連タスクで良好なパフォーマンスを示していたためです。 これらの結果は暫定的な分析において確認されました。つまり、これら 3 つの分類子はサポート ベクトル マシンおよびランダム フォレストのパフォーマンスを上回っていました。 実験では、エンコードとモデルのトレーニングに scikit-learn ライブラリを利用しています。

B. ノイズの種類

この研究で調査したノイズとは、トレーニング データのクラス ラベルのノイズを指します。 このようなノイズが存在する場合、その結果として、学習プロセスおよび生成されたモデルは、間違ってラベル付けされたサンプルによって損なわれてしまいます。 ここでは、クラス情報に適用されるさまざまなノイズのレベルの影響を分析しています。 ラベル ノイズの種類については、これまで文献においてさまざまな用語を用いて議論されています。 この研究では、分類子における 2 つの異なるラベル ノイズの影響を分析します。1 つはクラスに依存しないラベル ノイズで、インスタンスをランダムに選択してラベルを反転することによって導入されます。もう 1 つはクラスに依存するノイズで、クラスごとにノイズが発生する可能性が異なります。

a) "クラスに依存しないノイズ": クラスに依存しないノイズとは、インスタンスの true クラスとは無関係に発生するノイズを指します。 この種類のノイズでは、間違ったラベルを付ける確率 pbr が、データ セット内のすべてのインスタンスで同じになります。 確率 pbr を使用してデータ セット内の各ラベルをランダムに反転することにより、クラスに依存しないノイズをデータ セットに導入します。

b) "クラスに依存するノイズ": クラスに依存するノイズとは、インスタンスの true クラスに依存するノイズを指します。 この種類のノイズでは、SBR クラスに間違ったラベルを付ける確率は psbr であり、NSBR クラスに間違ったラベルを付ける確率は pnsbr です。 確率 psbr を使用して、true ラベルが SBR であるデータ セット内の各エントリを反転させることにより、クラスに依存するノイズをデータ セットに導入します。 同様に、NSBR インスタンスのクラス ラベルを確率 pnsbr を使用して反転させます。

c) 単一クラスノイズ: 単一クラスノイズは、クラス依存ノイズの特殊なケースです。ここで、pnsbr = 0 および psbr> 0。 クラスに依存しないノイズの場合、psbr = pnsbr = pbr であることに注意してください。

C. ノイズの生成

実験では、さまざまなノイズの種類の影響と、SBR 分類子のトレーニングのレベルを調査します。 この実験では、データ セットの 25% をテスト データとして設定し、10% を検証データとして設定し、65% をトレーニング データとして設定します。

pbr、psbr、および pnsbr のさまざまなレベルについて、トレーニング データ セットと検証データ セットにノイズを追加します。 テスト データ セットには変更を加えません。 使用されるノイズ レベルは P = {0.05 × i|0 < i < 10} です。

クラスに依存しないノイズの実験では、pbr ∈ P の場合について、次の操作を行います。

  • トレーニング データ セットおよび検証データ セットにノイズを生成します。

  • トレーニング データ セット (ノイズあり) を使用して、ロジスティック回帰、単純ベイズ、および AdaBoost モデルをトレーニングします。* 検証データ セット (ノイズあり) を使用して、モデルをチューニングします。

  • テスト データ セット (ノイズなし) を使用してモデルをテストします。

クラスに依存するノイズの実験では、psbr ∈ P かつ pnsbr ∈ P の場合について、psbr と pnsbr のすべての組み合わせに対して次の操作を行います。

  • トレーニング データ セットおよび検証データ セットにノイズを生成します。

  • トレーニング データ セット (ノイズあり) を使用して、ロジスティック回帰、単純ベイズ、および AdaBoost モデルをトレーニングします。

  • 検証データ セット (ノイズあり) を使用して、モデルをチューニングします。

  • テスト データ セット (ノイズなし) を使用してモデルをテストします。

V. 実験結果

このセクションでは、セクション IV で説明されている方法に従って実施された実験の結果を分析します。

"a) モデルのパフォーマンス (トレーニング データ セットにノイズなし) ": 本論文の貢献の 1 つは、意思決定のためのデータとしてバグのタイトルのみを使用して、セキュリティ バグを識別する機械学習モデルを提案している点です。 これにより、機密データが存在するために開発チームがバグ レポートを全面的に共有したくない場合でも、機械学習モデルのトレーニングを行うことができるようになります。 バグのタイトルのみを使用してトレーニングを行った場合の、3 つの機械学習モデルのパフォーマンスを比較します。

最高のパフォーマンスを発揮した分類子は、ロジスティック回帰モデルです。 これは、最高の AUC 値 (0.9826) を示した分類子であり、FPR 値 0.0735 に対して再現率は 0.9353 でした。 単純ベイズ分類子のパフォーマンス (AUC 値 0.9779) はロジスティック回帰分類子よりもわずかに低く、FPR 値 0.0769 に対して再現率は 0.9189 でした。 AdaBoost 分類子は、前述の 2 つの分類子と比較した場合パフォーマンスが劣りました。 AUC 値 0.9143 を達成し、FPR 値 0.0774 に対して再現率は 0.7018 でした。 ROC 曲線の下の面積 (AUC) は、TPR と FPR の関係が単一の値に集約されるため、複数のモデルのパフォーマンスを比較する際の優れたメトリックとなります。 以降の分析では、比較分析を AUC 値のみに限定します。

Table I

A. クラス ノイズ: 単一クラス

すべてのバグが既定で NSBR クラスに割り当てられ、セキュリティ専門家がバグ リポジトリを確認している場合にのみ、バグが SBR クラスに割り当てられるというシナリオが考えられます。 このシナリオは、単一クラスの実験設定で表されます。ここで、pnsbr = 0 および 0 < psbr< 0.5 であると仮定します。

Table II

表 II からは、3 つの分類子すべてについて、AUC への影響が非常にわずかであることが見て取れます。 psbr = 0 でトレーニングされたモデルの AUC-ROC を psbr = 0.25 のモデルの AUC-ROC と比較した場合、その差は、ロジスティック回帰で 0.003、単純ベイズで 0.006、AdaBoost で 0.006 です。 psbr = 0.50 の場合の各モデルの AUC 値と、psbr = 0 でトレーニングされた各モデルの AUC 値との差は、ロジスティック回帰で 0.007、単純ベイズで 0.011、AdaBoost で 0.010 です。 単一クラス ノイズが存在している状況でトレーニングされたロジスティック回帰分類子は、AUC メトリックの変動が最も小さく、単純ベイズおよび AdaBoost 分類子と比較した場合、より堅牢な動作を示していると言えます。

B. クラス ノイズ: クラスに依存しない

クラスに依存しないノイズによってトレーニング セットが破損している場合について、3 つの分類子のパフォーマンスを比較します。 トレーニング データ内のさまざまなレベルの pbr を使用してトレーニングされたモデルごとに AUC 値を測定します。

Table III

表 III を見ると、実験でノイズが増分されるごとに AUC-ROC 値が減少しています。 ノイズのないデータでトレーニングしたモデルで測定された AUC-ROC と、クラスに依存しないノイズを使用してトレーニングされたモデルの AUC-ROC の差は、pbr = 0.25 の場合、ロジスティック回帰で 0.011、単純ベイズで 0.008、AdaBoost で 0.0038 です。 ノイズ レベルが 40% 未満の場合、単純ベイズおよび AdaBoost 分類子では、ラベル ノイズが AUC に有意な影響を与えないことが観察されています。 一方、ロジスティック回帰分類子は、ラベル ノイズのレベルが 30% を超える場合、AUC の測定値に影響が出ています。

AUC Variation

図 1. クラスに依存しないノイズでの AUC-ROC の変動。 ノイズ レベル pbr = 0.5 の場合、分類子はランダムな分類子 (つまり、AUC ≈ 0.5) と同様に動作します。 しかし、低いノイズ レベル (pbr ≤ 0.30) では、他の 2 つのモデルと比較して、ロジスティック回帰学習器が優れたパフォーマンスを示していることが観測されます。 ただし、0.35 ≤ pbr ≤0.45 では、単純ベイズ学習器の方が優れた AUC-ROC メトリックを示しています。

C. クラス ノイズ: クラス依存

実験の最後のセットでは、異なるクラスに異なるノイズ レベル (psbr ≠ pnsbr) が含まれるシナリオを検討します。 トレーニング データで p.sbr と pnsbr を個別に 0.05 ずつ系統的に増分し、3 つの分類子の動作の変化を観察しています。

Logistic RegressionNaive BayesAdaBoost

表 IV (ロジスティック回帰)、表 V (単純ベイズ)、表 VI (AdaBoost) は、各クラスのさまざまなレベルでノイズが増加するにつれて、AUC がどのように変動するかを示しています。 すべての分類子について、どちらのクラスでもノイズ レベルが 30% を超えると、AUC メトリックに影響が出ることがわかります。 単純ベイズの動作が最も堅牢です。 負のクラスに含まれるノイズ ラベルが 30% 以下の場合、正のクラスのラベルの 50% を反転しても、AUC への影響は非常にわずかでした。 この場合、AUC の低下は 0.03 です。 AdaBoost は、3 つの分類子すべての中で最も堅牢な動作を示していました。 両方のクラスでノイズ レベルが 45% を超える場合にのみ、AUC に有意な変化が発生しています。 このケースでは、低下が 0.02 より大きくなったら AUC の観察を開始しました。

D. 元のデータ セットに残留ノイズが存在する場合

このデータ セットは、シグネチャベースの自動化システムおよび専門家の人力によってラベル付けされました。 そのうえ、すべてのバグ レポートはさらに専門家によって人力で確認され、閉じられました。 データ セットに含まれるノイズの量は最小限であり、統計的に有意ではないと予想されますが、残余ノイズが存在したとしても、私たちの結論は無効にはなりません。 実際、図のために、元のデータ セットが、すべてのエントリに対して 0 < p < 1/2 の独立した同じ分散 (i.i.d) に等しいクラスに依存しないノイズによって破損していると仮定します。

元のノイズに、pbr i.i.d の確率で、クラスに依存しないノイズを追加した場合、エントリごとに生成されるノイズは p* = p (1 − pbr) + (1 − p) pbr となります。 0 < p,pbr< 1/2 の場合、ラベル p あたりの実際のノイズは∗データ セット pbr に人工的に追加するノイズよりも厳密に大きくなっています。 このため、そもそも完全にノイズのないデータ セット (p = 0) を使用して分類子をトレーニングした場合、パフォーマンスはさらに向上することになります。 要約すると、実際のデータ セットに残余ノイズが存在するということは、私たちが使用した分類子のノイズに対する弾力性が、ここに示した結果よりも優れていることを意味します。 さらに、データ セット内の残余ノイズが統計的に関与しているとしたら、分類子の AUC は、厳密に 0.5 未満のノイズ レベルに対して 0.5 になってしまいます (当てずっぽ)。 結果内にこのような動作は見られません。

VI. 結論と今後の研究

この論文の貢献には 2 つの要素があります。

まず、バグ レポートのタイトルのみに基づいて、セキュリティ バグ レポートを分類できることの実行可能性を示しています。 これは、プライバシーの制約のためにバグ レポート全体を利用できないシナリオにとって特に重要です。 たとえば、私たちが使用したバグ レポートには、パスワードや暗号化キーなどの個人情報が含まれており、分類子のトレーニングには使用できませんでした。 結果は、レポートのタイトルしか使用できない場合でも、高い精度で SBR の識別を実行できることを示しています。 TF-IDF とロジスティック回帰の組み合わせを利用する私たちの分類モデルでは、AUC 値 0.9831 というパフォーマンスが示されています。

2 番目に、間違ってラベル付けされているトレーニング データと検証データの影響を分析しました。 さまざまなノイズの種類とノイズ レベルに対する堅牢性に関して、よく知られている 3 つの機械学習の分類手法 (単純ベイズ、ロジスティック回帰、AdaBoost) を比較しました。 3 つの分類子はいずれも、単一クラスのノイズに対しては堅牢です。 トレーニング データのノイズは、分類子の結果に対して有意な影響を与えまていせん。 50% のノイズ レベルでは、AUC の減少は非常に小さい (0.01) ものです。 両方のクラスに存在し、クラスに依存しないノイズの場合、単純ベイズおよび AdaBoost モデルは、ノイズ レベルが 40% を超えるデータ セットでトレーニングした場合にのみ、AUC に有意な変動が見られます。

最後に、クラスに依存するノイズは、両方のクラスとも 35% を超えるノイズが存在する場合にのみ、AUC に有意な影響を及ぼします。 最も高い堅牢性を示したのは AdaBoost でした。 負のクラスに含まれるノイズ ラベルが 45% 以下の場合、正のクラスのラベルの 50% にノイズが含まれていても、AUC への影響は非常に小さくなります。 この場合、AUC の減少は 0.03 未満です。 私たちの知る限り、本研究は、セキュリティ バグ レポートを識別するために、ノイズを含むデータ セットの影響を系統的に調査した最初の研究です。

今後の研究

本論文は、セキュリティ バグの識別に向けた機械学習分類子のパフォーマンスに対して、ノイズがどのように影響するかということに関する初めての体系的研究となっています。 この研究にはいくつかの興味深い後継研究が考えられます。たとえば、セキュリティ バグの重大度レベルを決定する際に、ノイズが含まれるデータ セットの影響を調べる、トレーニング済みモデルのノイズに対する弾力性へのクラスの不均衡の影響を理解する、データ セットに敵対的に導入されたノイズの影響について理解する、などです。

REFERENCES

ジョン・アンビック、リンドン・ヒエウ、ゲイル・C・マーフィー 「Who should fix this bug? (だれがこのバグを修正するのか)」 "第 28 回ソフトウェア エンジニアリングに関する国際会議の議事録"、361 - 370 ページ。 ACM、2006。

[2] ディクシャ・ベール、サハイル・ハンダ、アヌジャ・アローラ 「A bug mining tool to identify and analyze security bugs using naive bayes and tf-idf (単純ベイズと tf-idf を使用してセキュリティ バグを特定し、分析するためのバグ マイニング ツール)」。 2014 年開催の "最適化、信頼性、および情報技術に関する国際会議 (ICROIT) "、294 - 299 ページ。 IEEE、2014。

[3] ニコラ・ベッテンブルク、ラフル・プレムラジ、トーマス・ツィンマーマン、スングン・キム。 「Duplicate bug reports considered harmful really? (重複するバグ レポートは本当に有害か)」。 "2008 年開催のソフトウェアのメンテナンスに関する IEEE の国際会議。ICSM 2008。 "、337 - 345 ページ。 IEEE、2008。

[4] Andres Folleco、Taghi M Khoshgoftaar、ジェイソン・ヴァン・ハルス、ロフトン・ブラード。 「Identifying learners robust to low quality data (低品質データに対して堅牢な学習器を識別する)」。 "2008 年開催の情報の再利用と統合に関する IEEE の国際会議。IRI 2008。 "、190 - 195 ページ。 IEEE、2008。

[5] Benoˆıt Frenay.' 機械学習における不確定性とラベルノイズ。 博士論文、ルーヴァン カトリック大学、ルーヴァン ラ ヌーヴ、ベルギー、2013 年。

[6] Benoˆıt Frenay と Michel Verleysen. 「Classification in the presence of´ label noise: a survey (ラベル ノイズが存在する場合の分類に関する調査)」。 "ニューラル ネットワークおよび学習システムに関する IEEE の議事録"、25 (5): 845 - 869 ページ、2014 年。

マイケル・ゲジック、ピート・ロテラ、タオ・シー 「Identifying security bug reports via text mining: An industrial case study (テキスト マイニングによるセキュリティ バグ レポートの識別: 業界向けケース スタディ)」。 "2010 年開催の第 7 回ソフトウェア リポジトリ マイニング (MSR) に関する IEEE の作業部会"、11 - 20 ページ。 IEEE、2010。

カテリーナ・Goseva-Popstojanovaとジェイコブ・ティヨ 「Identification of security related bug reports via text mining using supervised and unsupervised classification (教師ありおよび教師なしの分類を使用した、テキスト マイニングによるセキュリティ関連バグ レポートの識別)」。 "2018 年開催のソフトウェアの品質、信頼性、セキュリティ (QRS) に関する IEEE の国際会議"、344 - 355 ページ、2018 年。

[9] アーメッド・ラムカンフィ、セルジュ・デメイヤー、エマニュエル・ギガー、バート・ゲータールス。 「Predicting the severity of a reported bug (報告されたバグの重大度の予測)」。 "2010 年開催の第 7 回マイニング ソフトウェア リポジトリ (MSR) に関する IEEE の作業部会"、1 - 10 ページ。 IEEE、2010。

[10] ナレーシュ・マンマニとPSサストリー。 「Noise tolerance under risk minimization (リスク最小化におけるノイズ トレランス)」。 "人工頭脳工学に関する IEEE の議事録"、43 (3): 1146 - 1151 ページ、2013 年。

[11] GマーフィーとDキュプラニック。 「Automatic bug triage using text categorization (テキスト分類を使用した自動バグ トリアージ)」。 ソフトウェア 工学 & 知識工学に関する第16回国際会議の議事録. Citeseer、2004。

[12] Mykola Pechenizkiy、Alexey Tsymbal、Seppo Puuronen、Oleksandr Pechenizkiy。 「Class noise and supervised learning in medical domains: The effect of feature extraction (内科領域でのクラス ノイズと教師あり学習: 特徴抽出の影響)」。 null、708 - 713 ページ。 IEEE、2006。

[13] シャーロット・ペレティエ、シルビア・ヴァレロ、ジョルディ・イングラダ、ニコラ・チャンピオン、クレア・マレ・シクレ、ジェラル・デデュー'のトレーニングクラスラベルノイズが、衛星画像時系列を使用したランドカバーマッピングの分類性能に及ぼす影響。 『Remote Sensing (リモート センシング) 』、9 (2): 173 ページ、2017 年。

[14] PS Sastry、GD Nagendra、Naresh Manwani。 「A team of continuousaction learning automata for noise-tolerant learning of half-spaces (半角スペースのノイズトレラントな学習のための連続動作学習オートマトンのチーム)」。 "システム、人、人工頭脳工学に関する IEEE の議事録、パート B (人工頭脳工学) "、40 (1):19 - 28 ページ、2010 年。

[15] Choh-Man Teng. 「A comparison of noise handling techniques (ノイズ処理手法の比較)」。 "FLAIRS カンファレンス"、269 - 273 ページ、2001 年。

[16] ドゥミドゥ・ウィジャヤセカラ、ミロス・マニック、マイルス・マックイーン。 「Vulnerability identification and classification via text mining bug databases (バグ データベースのテキスト マイニングを使用した脆弱性の識別と分類)」。 "2014 年開催の第 40 回 IEEE Industrial Electronics Society (IECON) 年次会議、3612 - 3618 ページ。IEEE"、2014。

[17] 新里陽、デイヴィッド・ロー、チャオ・ファン、シンシア、および建陵太陽。 「Automated identification of high impact bug reports leveraging imbalanced learning strategies (不均衡な学習戦略を活用した、影響の大きいバグ レポートの自動識別)」。 "2016 年開催の第 40 回 IEEE Computer Software and Applications Conference (COMPSAC) 年次会議"、第 1 巻、227 - 232 ページ。 IEEE、2016。

[18] デチン・ゾウ、ジジュン・デン、ジェン・リ、ハイ・ジン。 「Automatically identifying security bug reports via multitype features analysis (マルチタイプの特徴分析を使用した、セキュリティ バグ レポートの自動識別)」。 "情報セキュリティとプライバシーに関するオーストラリア会議"、619 - 633 ページ。 Springer、2018。