レポート タイトルとノイズ データのみに基づくセキュリティ バグ レポートの特定Identifying Security Bug Reports Based Solely on Report Titles and Noisy Data

Mayana Pereira Mayana Pereira

CELA データ サイエンスCELA Data Science
MicrosoftMicrosoft

Scott ChristiansenScott Christiansen

顧客セキュリティおよび信頼Customer Security and Trust
MicrosoftMicrosoft

"要約" - セキュリティ バグ レポート (SBR) の特定は、ソフトウェア開発ライフサイクルにおいて不可欠な手順です。Abstract — Identifying security bug reports (SBRs) is a vital step in the software development life-cycle. 教師あり機械学習ベースのアプローチでは、通常、バグ レポート全体をトレーニングに利用できること、またラベルがノイズ フリーであることが前提となっています。In supervised machine learning based approaches, it is usual to assume that entire bug reports are available for training and that their labels are noise free. 私たちの知る限り、この調査は、タイトルだけが利用可能であり、ラベル ノイズが含まれる場合でも、SBR に対して正確なラベル予測が可能であることを示すための最初の調査です。To the best of our knowledge, this is the first study to show that accurate label prediction is possible for SBRs even when solely the title is available and in the presence of label noise.

"インデックスの用語" - 機械学習、間違ったラベル付け、ノイズ、セキュリティ バグ レポート、バグ リポジトリIndex Terms — Machine Learning, Mislabeling, Noise, Security Bug Report, Bug Repositories

I.I. 概要INTRODUCTION

ソフトウェア開発チームは、報告されたバグの中でセキュリティ関連の問題を急いで識別する必要があります。このような問題は、コンプライアンス要件を満たしたり、ソフトウェアと顧客データの整合性を確保したりするために、より迅速な解決が求められるからです。Identifying security related issues among reported bugs is a pressing need among software development teams as such issues call for more expedited fixes in order to meet compliance requirements and ensure the integrity of the software and customer data.

機械学習および人工知能ツールを使用すると、確かにソフトウェア開発が迅速かつアジャイルで、しかも正確になります。Machine learning and artificial intelligence tools promise to make the software development faster, agile and correct. 何人かの研究者が、セキュリティ バグを特定するという問題に機械学習を応用しています [2]、[7]、[8]、[18]。これまでに公表されている研究では、機械学習モデルのトレーニングとスコア付けにバグ レポート全体を利用できることが前提になっていました。Several researchers have applied machine learning to the problem of identifying security bugs [2], [7], [8], [18].Previous published studies have assumed that the entire bug report is available for training and scoring a machine learning model. しかし、実際は必ずしもそうとは限りません。This is not necessarily the case. バグ レポートの一部が利用できない状況があります。There are situations where the entire bug report cannot be made available. たとえば、バグ レポートには、パスワードや PII (個人を特定できる情報) などの機密データが含まれている場合があります。これがまさに、現在 Microsoft が直面している事態なのです。For example, the bug report might contain passwords, personally identifying information (PII) or other kinds of sensitive data - a case we are currently facing at Microsoft. したがって、バグ レポートのタイトルしか利用できない場合など、使用できる情報が少ない場合でも適切にセキュリティ バグを識別できる方法を確立することが重要になってきます。It is therefore important to establish how well security bug identification can be performed using less information, such as when only the title of the bug report is available.

さらに、バグ リポジトリには、多くの場合、間違ってラベル付けされたエントリが含まれています [7]。セキュリティ以外のバグ レポートがセキュリティ関連として分類されていたり、その逆のケースもあります。Additionally, bug repositories often contain mislabeled entries [7]: non-security bug reports classified as security related and vice-versa. 間違ったラベル付けが発生する理由はいくつもあり、開発チームにセキュリティの専門知識が不足しているといった場合から、特定の問題にあいまいさが伴っている (たとえば、セキュリティ以外のバグを悪用して間接的にセキュリティ上の問題が引き起こされることがあります) といった場合に至るまでさまざまです。There are several reasons for the occurrence of mislabeling, ranging from the development team's lack of expertise in security, to the fuzziness of certain problems, e.g. it is possible for non-security bugs to be exploited in an indirect way as to cause a security implication. SBR のラベル付けが間違っていると、セキュリティの専門家はコストと時間のかかる労力を払ってバグ データベースを手動で確認する必要があるため、これは深刻な問題につながります。This is a serious problem since the mislabeling of SBRs results in security experts having to manually review bug database in an expensive and time-consuming effort. ノイズがさまざまな分類子にどのような影響を与えるか、また堅牢 (または脆弱) な各種機械学習手法が、さまざまな種類のノイズで汚染されたデータ セットにどのように対処しているかを理解することは、ソフトウェア エンジニアリングの実践に自動分類を取り入れる際に取り組まなければならない問題です。Understanding how noise affects different classifiers and how robust (or fragile) different machine learning techniques are in the presence of data sets contaminated with different kinds of noise is a problem that must be addressed for to bring automatic classification to the practice of software engineering.

予備的な研究では、バグ リポジトリには本来的にノイズが含まれていること、また、そのノイズが機械学習分類子のパフォーマンスに悪影響を与える可能性があるという主張はなされています [7]。Preliminary work argues that bug repositories are intrinsically noisy and that the noise might have an adverse effect on the performance machine learning classifiers [7]. しかし、セキュリティ バグ レポート (SBR) の識別という問題に関連して、さまざまなレベルと種類のノイズが、さまざまな教師あり機械学習アルゴリズムのパフォーマンスにどのように影響するかということについての体系的かつ定量的な研究はまだありません。There lacks, however, any systematic and quantitative study of how different levels and types of noise affect the performance of different supervised machine learning algorithms for the problem of identifying security bug reports (SRBs).

本研究では、トレーニングとスコアリングにタイトルだけしか使用できない場合でも、バグ レポートの分類が可能であることを示します。In this study, we show that the classification of bug reports can be performed even when solely the title is available for training and scoring. 知る限り、これは上記の内容を確認しようとする初めての研究です。To the best of our knowledge this is the very first work to do so. また、これはバグ レポートを分類する際のノイズの影響に関する初めての体系的研究でもあります。Additionally, we provide the first systematic study of the effect of noise in bug report classification. クラスに依存しないノイズに対する 3 つの機械学習手法 (ロジスティック回帰、単純ベイズ、AdaBoost) の堅牢性について比較研究を行います。We make a comparative study of robustness of three machine learning techniques (logistic regression, naive Bayes and AdaBoost) against class-independent noise.

いくつかの単純な分類子について、ノイズの一般的影響を捉える分析モデルが複数ありますが [5]、[6]、これらの結果では、精度に対するノイズの影響に関して厳密な範囲が指定されておらず、また、その有効性は特定の機械学習手法に限定されます。While there are some analytical models that capture the general influence of noise for a few simple classifiers [5], [6], these results do not provide tight bounds on the effect of the noise on precision and are valid only for a particular machine learning technique. 機械学習モデルにおけるノイズの影響を正確に分析する際は、通常、計算実験が行われます。An accurate analysis of the effect of noise in machine learning models is usually performed by running computational experiments. このような分析が、ソフトウェア測定データ [4] から衛星画像分類 [13] や医療データ [12] に至るまで、さまざまなシナリオについて行われています。Such analyses have been done for several scenarios ranging from software measurement data [4], to satellite image classification [13] and medical data [12]. ただし、これらの分析はデータ セットの性質や基盤となる分類の問題に強く依存しているため、私たちが対象としている固有の問題をこれらの結果によって説明することはできません。Yet these results cannot be translated to our specific problem, due to its high dependency on the nature of the data sets and underlying classification problem. 確認できる限りでは、特にセキュリティ バグ レポートの分類に対する、ノイズの多いデータ セットの影響という問題に関しては、公表されている結果はこれまでありません。To the best of our knowledge, there are no published results on the problem of the effect of noisy data sets on security bug report classification in particular.

本研究の貢献内容:OUR RESEARCH CONTRIBUTIONS:

  • レポートのタイトルのみに基づいて、セキュリティ バグ レポート (SBR) を識別する分類器をトレーニングします。We train classifiers for the identification of security bug reports (SBRs) based solely on the title of the reports. 私たちの知る限り、本研究はこれを実施した初めてのものです。To the best of our knowledge this is the first work to do so. これまでの研究では、完全なバグ レポートが使用されるか、追加の補足機能を使用してバグ レポートが強化されていました。Previous works either used the complete bug report or enhanced the bug report with additional complementary features. タイトルのみに基づくバグの分類は、プライバシー上の懸念があるのために完全なバグ レポートを利用できないシナリオに特に関連性があります。Classifying bugs based solely on the tile is particularly relevant when the complete bug reports cannot be made available due to privacy concerns. たとえば、パスワードやその他の機密データが含まれたバグ レポートがこれに該当します。For example, it is notorious the case of bug reports that contain passwords and other sensitive data.

  • また、本研究は、SBR の自動分類に使用されるさまざまな機械学習モデルと手法におけるラベルのノイズトレランスに関する最初の体系的研究でもあります。We also provide the first systematic study of the label noise-tolerance of different machine learning models and techniques used for the automatic classification of SBRs. クラスに依存するノイズとクラスに依存しないノイズに対する 3 つの異なる機械学習手法 (ロジスティック回帰、単純ベイズ、AdaBoost) の堅牢性について比較研究を行います。We make a comparative study of robustness of three distinct machine learning techniques (logistic regression, naive Bayes and AdaBoost) against class-dependent and class-independent noise.

この論文の残りの部分は以下のとおりです。セクション II では、これまでに行われた研究のいくつかについて文献を示します。The remaining of the paper is presented as follows: In section II we present some of the previous works in the literature. セクション III では、データ セットと、データの事前処理方法について説明します。In section III we describe the data set and how data is pre-processed. セクション IV では手順について、セクション V では実験の分析結果について説明します。最後にセクション VI では、結論と今後の研究について説明します。The methodology is described in section IV and the results of our experiments analyzed in section V. Finally, our conclusions and future works are presented in VI.

II.II. これまでの研究PREVIOUS WORKS

バグ リポジトリへの機械学習の応用。MACHINE LEARNING APPLICATIONS TO BUG REPOSITORIES.

ほんの数例挙げるだけでも、セキュリティ バグの検出 [2]、[7]、[8]、[18]、バグの重複識別 [3]、バグのトリアージ [1]、[11] など、面倒なタスクを自動化しようとする試みの中で、テキスト マイニング、自然言語処理、および機械学習をバグ リポジトリに応用する研究に関するさまざまな文献が存在します。There exists an extensive literature in applying text mining, natural language processing and machine learning on bug repositories in an attempt to automate laborious tasks such as security bug detection [2], [7], [8], [18], bug duplicate identification [3], bug triage [1], [11], to name a few applications. 理想的には、機械学習 (ML) と自然言語処理の組み合わせによって、バグ データベースの選別に必要な手動の作業が減り、これらのタスクを遂行するために必要な時間が短縮され、結果の信頼性が向上する可能性があります。Ideally, the marriage of machine learning (ML) and natural language processing potentially reduces the manual work required to curate bug databases, shorten the required time for accomplishing these tasks and can increase the reliability of the results.

[7] の筆者たちは、バグの説明に基づいて SBR の分類を自動化する自然言語モデルを提案しています。In [7] the authors propose a natural language model to automate the classification of SBRs based on the description of the bug. 筆者たちは、トレーニング データ セット内のすべてのバグ説明からボキャブラリを抽出し、関連ワード、ストップ ワード (分類に無関係と思われる一般的な単語)、およびシノニムという 3 つのワード リストに手動で選別しました。The authors extract a vocabulary from all bug description in the training data set and manually curate it into three lists of words: relevant words, stop words (common words that seem irrelevant for classification), and synonyms. セキュリティ エンジニアによって評価されたデータのみでトレーニングされたセキュリティ バグ分類子のパフォーマンスと、一般のバグ報告者によってラベル付けされたデータでトレーニングされた分類子のパフォーマンスを比較しました。They compare the performance of security bug classifier trained on data that is all evaluated by security engineers, and a classifier trained on data that was labeled by bug reporters in general. セキュリティ エンジニアによってレビューを受けたデータでトレーニングを行った場合、モデルの効率は明らかに向上しますが、提案されたモデルは手動で生成されたボキャブラリに基づいているため、人力による選別に依存することになります。Although their model is clearly more effective when trained on data reviewed by security engineers, the proposed model is based on a manually derived vocabulary, which makes it dependent on human curation. さらに、さまざまなレベルのノイズがモデルにどの程度影響を与えるか、さまざまな分類子がノイズにどのように反応するか、また、クラスが異なるとノイズがパフォーマンスに与える影響も異なるかどうかといったことは分析されていません。Moreover, there is no analysis of how different levels of noise affects their model, how different classifiers respond to noise, and if noise in either class affects performance differently.

Zou その他Zou et. [18] は、バグ レポートに含まれる複数の種類の情報を利用しました。これには、バグ レポートのテキスト以外のフィールド (時間、重要度、優先度などのメタ特徴) とバグ レポートのテキスト コンテンツ (テキストの特徴、すなわち概要フィールドのテキスト) が含まれます。al [18] make use of multiple types of information contained in a bug report which involve the non-textual fields of a bug report (meta features, e.g., time, severity, and priority) and the textual content of a bug report (textual features, i.e., the text in summary fields). これらの特徴に基づき、自然言語処理と機械学習の手法を使用して SBR を自動的に識別するためのモデルが構築されました。Based on these features, they build a model to automatically identify the SBRs via natural language processing and machine learning techniques. [8] の筆者たちは、同様の分析を実行しますが、さらに、教師ありと教師なしの機械学習手法のパフォーマンスを比較し、モデルをトレーニングするために必要なデータ量を調べました。In [8] the authors perform a similar analysis, but additionally they compare the performance of supervised and unsupervised machine learning techniques, and study how much data is needed to train their models.

[2] の筆者たちも、さまざまな機械学習手法を調査し、レポートの説明に基づいて SBR または NSBR (セキュリティ以外のバグ レポート) としてバグを分類しています。In [2] the authors also explore different machine learning techniques to classify bugs as SBRs or NSBRs (Non-Security Bug Report) based on their descriptions. これらは、TF-IDF に基づくデータ処理とモデル トレーニングのためのパイプラインを提案しています。They propose a pipeline for data processing and model training based on TFIDF. 彼らは、提案したパイプラインと、Bag-of-Words および単純ベイズに基づくモデルを比較しました。They compare the proposed pipeline with a model based on bag-of-words and naive Bayes. Wijayasekara ら [16] は、テキスト マイニングの手法を使用して、頻出単語に基づいて各バグ レポートの特徴ベクトルを生成し、隠れた影響を持つバグ (HIB) を識別しています。Wijayasekara et al. [16] also used text mining techniques to generate the feature vector of each bug report based on frequent words to identify Hidden Impact Bugs (HIBs). Yang ら [17] は、用語の頻度 (TF) と単純ベイズを使用して、影響の大きいバグ レポート (SBR など) を識別することを主張しました。Yang et al. [17] claimed to identify high impact bug reports (e.g., SBRs) with the help of Term Frequency (TF) and naive Bayes. [9] の筆者たちは、バグの重大度を予測するモデルを提案しています。In [9] the authors propose a model to predict the severity of a bug.

ラベル ノイズLABEL NOISE

ラベル ノイズを含むデータ セットを処理する際の問題については、広範な研究が行われています。The problem of dealing with data sets with label noise has been extensively studied. Frenay と Verleysen は [6] において、ノイズが含まれるさまざまな種類のラベルを識別するために、ラベル ノイズの分類法を提案しています。Frenay and Verleysen propose a label noise taxonomy in [6], in order to distinguish different types of noisy label. 筆者たちは、次の 3 種類のノイズを提案しています。すなわち、true クラスとインスタンスの特徴量の値に関係なく発生するラベル ノイズ、true ラベルにのみ依存するラベル ノイズ、および間違ったラベル付けの確率も特徴量の値に依存するラベル ノイズです。The authors propose three different types of noise: label noise which occurs independently of the true class and of the values of the instance features; label noise that depends only on the true label; and label noise where the mislabelling probability also depends on the feature values. 私たちの研究では、最初の 2 種類のノイズを調査します。In our work we study the first two types of noise. 理論的な観点から言えば、ラベル ノイズは、特定の場合 [14] を除き、通常はモデルのパフォーマンスを低下させます [10]。From a theoretical perspective, label noise usually decreases a model's performance [10], except in some specific cases [14]. 一般に、堅牢なメソッドは、ラベル ノイズを処理する際にオーバーフィットの回避策を使用しています [15]。In general, robust methods rely on overfitting avoidance to handle label noise [15]. 分類におけるノイズの影響に関する研究は、衛星画像の分類 [13]、ソフトウェア品質の分類 [4]、内科領域の分類 [12] など、これまで多くの分野で行われています。The study of noise effects in classification has been done before in many areas such as satellite image classification [13], software quality classification [4] and medical domain classification [12]. SBR の分類の問題については、ノイズを含むラベルの影響に関する緻密な定量化を扱った研究は、私たちの知る限りまだ発表されていません。To the best of our knowledge, there are no published works studying the precise quantification of the effects of noisy labels in the problem of SBRs classification. このシナリオでは、ノイズ レベル、ノイズの種類、およびパフォーマンス低下の間の正確な関係性がまだ確立されていません。In this scenario, the precise relationship among noise levels, noise types and performance degradation has not been established. さらに、ノイズが存在するときに分類子がどのように動作するかを理解することは価値があります。Moreover, it is worthwhile to understand how different classifiers behave in the presence of noise. 一般に、ソフトウェア バグ レポートのコンテキストにおいて、ノイズの多いデータ セットがさまざまな機械学習アルゴリズムのパフォーマンスに及ぼす影響を体系的に調べた研究が存在するかどうかは不明です。More generally, we are unaware of any work that systematically studies the effect of noisy data sets on the performance of different machine learning algorithms in the context of software bug reports.

III.III. データ セットの説明DATA SET DESCRIPTION

使用したデータ セットは 1,073,149 のバグタイトルで構成され、そのうち 552,073 が SBR に対応し、521,076 が NSBR に対応します。Our data set consists of 1,073,149 bug titles, 552,073 of which correspond to SBRs and 521,076 to NSBRs. このデータは、2015 年、2016 年、2017 年、および 2018 年に Microsoft のさまざまなチームから収集されました。The data was collected from various teams across Microsoft in the years 2015, 2016, 2017 and 2018. すべてのラベルは、シグネチャベースのバグ検証システムによって取得されたか、または人力でラベル付けされたものです。All the labels were obtained by signature-based bug verification systems or human labeled. データ セット内のバグ タイトルは、問題の概要を示す、10 語程度の非常に短いテキストです。Bug titles in our data set are very short texts, containing around 10 words, with an overview of the problem.

A.A. データの前処理では、各バグ タイトルを空白スペースごとに解析し、トークンの一覧を生成しました。Data Pre-processing We parse each bug title by its blank spaces, resulting in a list of tokens. トークンの各一覧は、次のように処理されます。We process each list of tokens as follows:

  • ファイル パスを表すトークンはすべて削除しましたRemove all tokens that are file paths

  • 次の記号が存在するトークンは分割しました: { , (, ), -, }, {, [, ], }Split tokens where the following symbols are present: { , (, ), -, }, {, [, ], }

  • ストップ ワード、数字のみで構成されているトークン、およびコーパス全体での出現回数が 5 回未満のトークンを削除しました。Remove stop words , tokens that are composed by numeric characters only and tokens that appear fewer than 5 times in the entire corpus.

IV.IV. 方法METHODOLOGY

機械学習モデルのトレーニング プロセスは、主に次の 2 つの手順で構成されます。つまり、特徴ベクトルへのデータのエンコードと、教師あり機械学習分類子のトレーニングです。The process of training our machine learning models consists of two main steps: encoding the data into feature vectors and training supervised machine learning classifiers.

A.A. 特徴ベクトルと機械学習の手法Feature Vectors and Machine Learning Techniques

1 つ目の部分では、[2] で使用されているように、単語の出現頻度 - 逆文書頻度アルゴリズム (TF-IDF) を使用して、特徴ベクトルにデータをエンコードします。The first part involves encoding data into feature vectors using the term frequencyinverse document frequency algorithm (TF-IDF), as used in [2]. TF-IDF は、単語の出現頻度 (TF) とその逆文書頻度 (IDF) に重み付けする情報検索手法です。TF-IDF is an information retrieval technique that weighs a terms frequency (TF) and its inverse document frequency (IDF). 各単語または用語には、それぞれの TF および IDF スコアがあります。Each word or term has its respective TF and IDF score. TF-IDF アルゴリズムでは、ドキュメントに出現する回数に基づいて、その単語に重要度が割り当てられますが、さらに重要なのは、データ セット内のタイトルのコレクション全体において、そのキーワードがどの程度の関連性を有しているかが確認される点です。The TF-IDF algorithm assigns the importance to that word based on the number of times it appears in the document, and more importantly, it checks how relevant the keyword is throughout the collection of titles in the data set. ここでは、単純ベイズ (NB)、ブースト デシジョン ツリー (AdaBoost)、ロジスティック回帰 (LR) という 3 つの分類手法をトレーニングし、比較しています。We trained and compared three classification techniques: naive Bayes (NB), boosted decision trees (AdaBoost) and logistic regression (LR). これらの手法を選択したのは、文献の報告全体にわたって、これらがセキュリティ バグ レポートの識別という関連タスクで良好なパフォーマンスを示していたためです。We have chosen these techniques because they have been shown to performance well for the related task of identifying security bug reports based on the entire report in the literature. これらの結果は暫定的な分析において確認されました。つまり、これら 3 つの分類子はサポート ベクトル マシンおよびランダム フォレストのパフォーマンスを上回っていました。These results were confirmed in a preliminary analysis where these three classifiers outperformed support vector machines and random forests. この実験では、エンコードとモデルのトレーニングに scikit-learn ライブラリを使用しています。In our experiments we utilize the scikit-learn library for encoding and model training.

B.B. ノイズの種類Types of Noise

この研究で調査したノイズとは、トレーニング データのクラス ラベルのノイズを指します。The noise studied in this work refers to noise in the class label in the training data. このようなノイズが存在する場合、その結果として、学習プロセスおよび生成されたモデルは、間違ってラベル付けされたサンプルによって損なわれてしまいます。In the presence of such noise, as a consequence, the learning process and resulting model are impaired by mislabelled examples. ここでは、クラス情報に適用されるさまざまなノイズのレベルの影響を分析しています。We analyze the impact of different noise levels applied to the class information. ラベル ノイズの種類については、これまで文献においてさまざまな用語を用いて議論されています。Types of label noise have been discussed previously in the literature using various terminologies. この研究では、分類子における 2 つの異なるラベル ノイズの影響を分析します。1 つはクラスに依存しないラベル ノイズで、インスタンスをランダムに選択してラベルを反転することによって導入されます。もう 1 つはクラスに依存するノイズで、クラスごとにノイズが発生する可能性が異なります。In our work, we analyze the effects of two different label noise in our classifiers: class-independent label noise, which is introduced by picking instances at random and flipping their label; and class-dependent noise, where classes have different likelihood to be noisy.

a) "クラスに依存しないノイズ": クラスに依存しないノイズとは、インスタンスの true クラスとは無関係に発生するノイズを指します。a) Class-independent noise: Class-independent noise refers to the noise that occurs independently of the true class of the instances. この種類のノイズでは、間違ったラベルを付ける確率 pbr が、データ セット内のすべてのインスタンスで同じになります。In this type of noise, the probability of mislabeling pbr is the same for all instances in the data set. 確率 pbr を使用してデータ セット内の各ラベルをランダムに反転することにより、クラスに依存しないノイズをデータ セットに導入します。We introduce class-independent noise in our data sets by flipping each label in our data set at random with probability pbr.

b) "クラスに依存するノイズ": クラスに依存するノイズとは、インスタンスの true クラスに依存するノイズを指します。b) Class-dependent noise: Class-dependent noise refers to the noise that depends on the true class of the instances. この種類のノイズでは、SBR クラスに間違ったラベルを付ける確率は psbr であり、NSBR クラスに間違ったラベルを付ける確率は pnsbr です。In this type of noise, the probability of mislabeling in class SBR is psbr and the probability of mislabeling in class NSBR is pnsbr. 確率 psbr を使用して、true ラベルが SBR であるデータ セット内の各エントリを反転させることにより、クラスに依存するノイズをデータ セットに導入します。We introduce class-dependent noise in our data set by flipping each entry in the data set for which the true label is SBR with probability psbr. 同様に、NSBR インスタンスのクラス ラベルを確率 pnsbr を使用して反転させます。Analogously, we flip the class label of NSBR instances with probability pnsbr.

c) "単一クラスのノイズ": 単一クラスのノイズは、クラスに依存するノイズの特殊なケースです。この場合、pnsbr = 0 かつ psbr > 0 です。c) Single-class noise: Single-class noise is a special case of class-dependent noise, where pnsbr = 0 and psbr > 0. クラスに依存しないノイズの場合、psbr = pnsbr = pbr であることに注意してください。Note that for class-independent noise we have psbr = pnsbr = pbr.

C.C. ノイズの生成Noise Generation

実験では、さまざまなノイズの種類の影響と、SBR 分類子のトレーニングのレベルを調査します。Our experiments investigate the impact of different noise types and levels in the training of SBR classifiers. この実験では、データ セットの 25% をテスト データとして設定し、10% を検証データとして設定し、65% をトレーニング データとして設定します。In our experiments we set 25% of the data set as test data, 10% as validation and 65% as training data.

pbr、psbr、および pnsbr のさまざまなレベルについて、トレーニング データ セットと検証データ セットにノイズを追加します。We add noise to the training and validation data sets for different levels of pbr, psbr and pnsbr . テスト データ セットには変更を加えません。We do not make any modifications to the test data set. 使用されるさまざまなノイズ レベルは、P = {0.05 × i|0 < i < 10} です。The different noise levels used are P = {0.05 × i|0 < i < 10}.

クラスに依存しないノイズの実験では、pbr ∈ P の場合について、次の操作を行います。In class-independent noise experiments, for pbr ∈ P we do the following:

  • トレーニング データ セットおよび検証データ セットにノイズを生成します。Generate noise for training and validation data sets;

  • トレーニング データ セット (ノイズあり) を使用して、ロジスティック回帰、単純ベイズ、および AdaBoost モデルをトレーニングします。* 検証データ セット (ノイズあり) を使用して、モデルをチューニングします。Train logistic regression, naive Bayes and AdaBoost models using training data set (with noise); * Tune models using validation data set (with noise);

  • テスト データ セット (ノイズなし) を使用してモデルをテストします。Test models using test data set (noiseless).

クラスに依存するノイズの実験では、psbr ∈ P かつ pnsbr ∈ P の場合について、psbr と pnsbr のすべての組み合わせに対して次の操作を行います。In class-dependent noise experiments, for psbr ∈ P and pnsbr ∈ P we do the following for all combinations of psbr and pnsbr:

  • トレーニング データ セットおよび検証データ セットにノイズを生成します。Generate noise for training and validation data sets;

  • トレーニング データ セット (ノイズあり) を使用して、ロジスティック回帰、単純ベイズ、および AdaBoost モデルをトレーニングします。Train logistic regression, naive Bayes and AdaBoost models using training data set (with noise);

  • 検証データ セット (ノイズあり) を使用して、モデルをチューニングします。Tune models using validation data set (with noise);

  • テスト データ セット (ノイズなし) を使用してモデルをテストします。Test models using test data set (noiseless).

V.V. 実験結果EXPERIMENTAL RESULTS

このセクションでは、セクション IV で説明されている方法に従って実施された実験の結果を分析します。In this section analyze the results of experiments conducted according to the methodology described in section IV.

"a) モデルのパフォーマンス (トレーニング データ セットにノイズなし) ": 本論文の貢献の 1 つは、意思決定のためのデータとしてバグのタイトルのみを使用して、セキュリティ バグを識別する機械学習モデルを提案している点です。a) Model performance without noise in the training data set: One of the contributions of this paper is the proposal of a machine learning model to identify security bugs by using only the title of the bug as data for decision making. これにより、機密データが存在するために開発チームがバグ レポートを全面的に共有したくない場合でも、機械学習モデルのトレーニングを行うことができるようになります。This enables the training of machine learning models even when development teams do not wish to share bug reports in full due to presence of sensitive data. バグのタイトルのみを使用してトレーニングを行った場合の、3 つの機械学習モデルのパフォーマンスを比較します。We compare the performance of three machine learning models when trained using only bug titles.

最高のパフォーマンスを発揮した分類子は、ロジスティック回帰モデルです。The logistic regression model is the best performing classifier. これは、最高の AUC 値 (0.9826) を示した分類子であり、FPR 値 0.0735 に対して再現率は 0.9353 でした。It is the classifier with the highest AUC value, of 0.9826, recall of 0.9353 for a FPR value of 0.0735. 単純ベイズ分類子のパフォーマンス (AUC 値 0.9779) はロジスティック回帰分類子よりもわずかに低く、FPR 値 0.0769 に対して再現率は 0.9189 でした。The naive Bayes Classifier presents slightly lower performance than the logistic regression Classifier, with an AUC of 0.9779 and a recall of 0.9189 for a FPR of 0.0769. AdaBoost 分類子は、前述の 2 つの分類子と比較した場合パフォーマンスが劣りました。The AdaBoost classifier has an inferior performance in comparison to the two previously mentioned classifiers. AUC 値 0.9143 を達成し、FPR 値 0.0774 に対して再現率は 0.7018 でした。It achieves an AUC of 0.9143, and a recall of 0.7018 for a 0.0774 FPR. ROC 曲線の下の面積 (AUC) は、TPR と FPR の関係が単一の値に集約されるため、複数のモデルのパフォーマンスを比較する際の優れたメトリックとなります。The area under the ROC curve (AUC) is a good metric for comparing performance of several models, as it summarizes in a single value the TPR vs. FPR relation. 以降の分析では、比較分析を AUC 値のみに限定します。In the subsequent analysis we will restrict our comparative analysis to AUC values.

表 I

A.クラス ノイズ: 単一クラスA. Class Noise: single-class

すべてのバグが既定で NSBR クラスに割り当てられ、セキュリティ専門家がバグ リポジトリを確認している場合にのみ、バグが SBR クラスに割り当てられるというシナリオが考えられます。One can imagine a scenario where all bugs are assigned to class NSBR by default, and a bug will only be assigned to class SBR if there is a security expert reviewing the bug repository. このシナリオは、単一クラスの実験設定において表されます。ここでは、pnsbr = 0 かつ 0 < psbr < 0.5 を想定しています。This scenario is represented in the single-class experimental setting, where we assume that pnsbr = 0 and 0 < psbr < 0.5.

表 II

表 II からは、3 つの分類子すべてについて、AUC への影響が非常にわずかであることが見て取れます。From table II we observe a very small impact in the AUC for all three classifiers. psbr = 0 でトレーニングされたモデルの AUC-ROC を psbr = 0.25 のモデルの AUC-ROC と比較した場合、その差は、ロジスティック回帰で 0.003、単純ベイズで 0.006、AdaBoost で 0.006 です。The AUC-ROC from a model trained on psbr = 0 compared to a AUC-ROC of model where psbr = 0.25 differs by 0.003 for logistic regression, 0.006 for naive Bayes, and 0.006 for AdaBoost. psbr = 0.50 の場合の各モデルの AUC 値と、psbr = 0 でトレーニングされた各モデルの AUC 値との差は、ロジスティック回帰で 0.007、単純ベイズで 0.011、AdaBoost で 0.010 です。In the case of psbr = 0.50, the AUC measured for each of the models differ from the model trained with psbr = 0 by 0.007 for logistic regression, 0.011 for naive Bayes, and 0.010 for AdaBoost. 単一クラス ノイズが存在している状況でトレーニングされたロジスティック回帰分類子は、AUC メトリックの変動が最も小さく、単純ベイズおよび AdaBoost 分類子と比較した場合、より堅牢な動作を示していると言えます。logistic regression classifier trained in the presence of single-class noise presents the smallest variation in its AUC metric, i.e. a more robust behavior, when compared to our naive Bayes and AdaBoost classifiers.

B.クラス ノイズ: クラスに依存しないB. Class Noise: class-independent

クラスに依存しないノイズによってトレーニング セットが破損している場合について、3 つの分類子のパフォーマンスを比較します。We compare the performance of our three classifiers for the case where the training set is corrupted by a class-independent noise. トレーニング データ内のさまざまなレベルの pbr を使用してトレーニングされたモデルごとに AUC 値を測定します。We measure the AUC for each model trained with different levels of pbr in the training data.

表 III

表 III を見ると、実験でノイズが増分されるごとに AUC-ROC 値が減少しています。In Table III we observe a decrease in the AUC-ROC for every noise increment in the experiment. ノイズのないデータでトレーニングしたモデルで測定された AUC-ROC と、クラスに依存しないノイズを使用してトレーニングされたモデルの AUC-ROC の差は、pbr = 0.25 の場合、ロジスティック回帰で 0.011、単純ベイズで 0.008、AdaBoost で 0.0038 です。The AUC-ROC measured from a model trained on noiseless data compared to a AUC-ROC of model trained with class-independent noise with pbr = 0.25 differs by 0.011 for logistic regression, 0.008 for naive Bayes, and 0.0038 for AdaBoost. ノイズ レベルが 40% 未満の場合、単純ベイズおよび AdaBoost 分類子では、ラベル ノイズが AUC に有意な影響を与えないことが観察されています。We observe that label noise does not impact the AUC of naive Bayes and AdaBoost classifiers significantly when noise levels are lower than 40%. 一方、ロジスティック回帰分類子は、ラベル ノイズのレベルが 30% を超える場合、AUC の測定値に影響が出ています。On the other hand, logistic regression Classifier experiences an impact in AUC measure for label noise levels above 30%.

AUC

図 1.Fig. 1. クラスに依存しないノイズでの AUC-ROC の変動。Variation of AUC-ROC in class-independent noise. ノイズ レベル pbr = 0.5 の場合、分類子はランダムな分類子 (つまり、AUC ≈ 0.5) と同様に動作します。For a noise level pbr =0.5 the classifier acts like a random classifier, i.e. AUC≈0.5. しかし、低いノイズ レベル (pbr ≤ 0.30) では、他の 2 つのモデルと比較して、ロジスティック回帰学習器が優れたパフォーマンスを示していることが観測されます。But we can observe that for lower noise levels (pbr ≤0.30), the logistic regression learner presents a better performance compared to the other two models. ただし、0.35 ≤ pbr ≤0.45 では、単純ベイズ学習器の方が優れた AUC-ROC メトリックを示しています。However, for 0.35≤ pbr ≤0.45 naive Bayes learner presents better AUCROC metrics.

C.クラス ノイズ: クラスに依存するC. Class Noise: class-dependent

最後の実験セットでは、さまざまなクラスにさまざまなレベルのノイズ (psbr ≠ pnsbr) が含まれるシナリオを検討します。In the final set of experiments, we consider a scenario where different classes contain different noise levels, i.e. psbr ≠ pnsbr. トレーニング データで p.sbr と pnsbr を個別に 0.05 ずつ系統的に増分し、3 つの分類子の動作の変化を観察しています。We systematically increment psbr and pnsbr independently by 0.05 in the training data and observe the change in behavior of the three classifiers.

ロジスティック回帰 単純ベイズ AdaBoostLogistic Regression Naive Bayes AdaBoost

表 IV (ロジスティック回帰)、表 V (単純ベイズ)、表 VI (AdaBoost) は、各クラスのさまざまなレベルでノイズが増加するにつれて、AUC がどのように変動するかを示しています。Tables IV, V, VI show the variation of AUC as noise is increased in different levels in each class for logistic regression in Table IV, for naive Bayes in Table V and for AdaBoost in Table VI. すべての分類子について、どちらのクラスでもノイズ レベルが 30% を超えると、AUC メトリックに影響が出ることがわかります。For all classifiers, we notice an impact in AUC metric when both classes contains noise level above 30%. 単純ベイズの動作が最も堅牢です。naive Bayes behaves mot robustly. 負のクラスに含まれるノイズ ラベルが 30% 以下の場合、正のクラスのラベルの 50% を反転しても、AUC への影響は非常にわずかでした。The impact on AUC is very small even when the 50% of the label in the positive class are flipped, provided that the negative class contains 30% of noisy labels or less. この場合、AUC の低下は 0.03 です。In this case, the drop in AUC is of 0.03. AdaBoost は、3 つの分類子すべての中で最も堅牢な動作を示していました。AdaBoost presented the most robust behavior of all three classifiers. 両方のクラスでノイズ レベルが 45% を超える場合にのみ、AUC に有意な変化が発生しています。A significant change in AUC will only happen for noise levels greater than 45% in both classes. このケースでは、低下が 0.02 より大きくなったら AUC の観察を開始しました。In that case, we start observing an AUC decay greater than 0.02.

D.元のデータ セットの残余ノイズの存在についてD. On The Presence of Residual Noise in the Original Data Set

このデータ セットは、シグネチャベースの自動化システムおよび専門家の人力によってラベル付けされました。Our data set was labeled by signature-based automated systems and by human experts. そのうえ、すべてのバグ レポートはさらに専門家によって人力で確認され、閉じられました。Moreover, all bugs reports have been further reviewed and closed by human experts. データ セットに含まれるノイズの量は最小限であり、統計的に有意ではないと予想されますが、残余ノイズが存在したとしても、私たちの結論は無効にはなりません。While we expect that the amount of noise in our data set is minimal and not statistically significant, the presence of residual noise does not invalidate our conclusions. 実際、説明のために、クラスに依存しないノイズ (0< p < 1/2) によって元のデータ セットが破損しており、すべてのエントリに等しく分散されている (i.i.d) ものと想定しましょう。Indeed, for the sake of illustration, assume that the original data set is corrupted by a class-independent noise equal to 0 < p < 1/2 independent and identically distributed (i.i.d) for every entry.

元のノイズに、pbr i.i.d の確率で、クラスに依存しないノイズを追加した場合、エントリごとに生成されるノイズは p* = p (1 − pbr) + (1 − p) pbr となります。If we, on top of the original noise, add a class-independent noise with probability pbr i.i.d, the resulting noise per entry will be p∗ = p(1 − pbr )+(1 − p)pbr . 0 < p、pbr < 1/2 の場合、ラベルあたりの実際のノイズ p* は、データ セット pbr に人為的に追加したノイズよりも厳密に大きくなります。For 0 < p,pbr < 1/2, we have that the actual noise per label p∗ is strictly larger than the noise we artificially add to the data set pbr . このため、そもそも完全にノイズのないデータ セット (p = 0) を使用して分類子をトレーニングした場合、パフォーマンスはさらに向上することになります。Thus, the performance of our classifiers would be even better if they were trained with a completely noiseless data set (p = 0) in the first place. 要約すると、実際のデータ セットに残余ノイズが存在するということは、私たちが使用した分類子のノイズに対する弾力性が、ここに示した結果よりも優れていることを意味します。In summary, the existence of residual noise in the actual data set means that the resilience against noise of our classifiers is better than the results here presented. さらに、データ セット内の残余ノイズが統計的に関与しているとしたら、分類子の AUC は、厳密に 0.5 未満のノイズ レベルに対して 0.5 になってしまいます (当てずっぽ)。Moreover, if the residual noise in our data set were statistically relevant, the AUC of our classifiers would become 0.5 (a random guess) for a level of noise strictly less than 0.5. 結果内にこのような動作は見られません。We do not observe such behavior in our results.

VI.VI. 結論と今後の研究CONCLUSIONS AND FUTURE WORKS

この論文の貢献には 2 つの要素があります。Our contribution in this paper is twofold.

まず、バグ レポートのタイトルのみに基づいて、セキュリティ バグ レポートを分類できることの実行可能性を示しています。First, we have shown the feasibility of security bug report classification based solely on the title of the bug report. これは、プライバシーの制約のためにバグ レポート全体を利用できないシナリオにとって特に重要です。This is particularly relevant in scenarios where the entire bug report is not available due to privacy constraints. たとえば、私たちが使用したバグ レポートには、パスワードや暗号化キーなどの個人情報が含まれており、分類子のトレーニングには使用できませんでした。For example, in our case, the bug reports contained private information such as passwords and cryptographic keys and were not available for training the classifiers. 結果は、レポートのタイトルしか使用できない場合でも、高い精度で SBR の識別を実行できることを示しています。Our result shows that SBR identification can be performed at high accuracy even when only report titles are available. TF-IDF とロジスティック回帰の組み合わせを利用する私たちの分類モデルでは、AUC 値 0.9831 というパフォーマンスが示されています。Our classification model that utilizes a combination of TF-IDF and logistic regression performs at an AUC of 0.9831.

2 番目に、間違ってラベル付けされているトレーニング データと検証データの影響を分析しました。Second, we analyzed the effect of mislabeled training and validation data. さまざまなノイズの種類とノイズ レベルに対する堅牢性に関して、よく知られている 3 つの機械学習の分類手法 (単純ベイズ、ロジスティック回帰、AdaBoost) を比較しました。We compared three well-known machine learning classification techniques (naive Bayes, logistic regression and AdaBoost) in terms of their robustness against different noise types and noise levels. 3 つの分類子はいずれも、単一クラスのノイズに対しては堅牢です。All three classifiers are robust to single-class noise. トレーニング データのノイズは、分類子の結果に対して有意な影響を与えまていせん。Noise in the training data has no significant effect in the resulting classifier. 50% のノイズ レベルでは、AUC の減少は非常に小さい (0.01) ものです。The decrease in AUC is very small ( 0.01) for a level of noise of 50%. 両方のクラスに存在し、クラスに依存しないノイズの場合、単純ベイズおよび AdaBoost モデルは、ノイズ レベルが 40% を超えるデータ セットでトレーニングした場合にのみ、AUC に有意な変動が見られます。For noise present in both classes and is class-independent, naive Bayes and AdaBoost models present significant variations in AUC only when trained with a data set with noise levels greater than 40%.

最後に、クラスに依存するノイズは、両方のクラスとも 35% を超えるノイズが存在する場合にのみ、AUC に有意な影響を及ぼします。Finally, class-dependent noise significantly impacts the AUC only when there is more then 35% noise in both classes. 最も高い堅牢性を示したのは AdaBoost でした。AdaBoost showed the most robustness. 負のクラスに含まれるノイズ ラベルが 45% 以下の場合、正のクラスのラベルの 50% にノイズが含まれていても、AUC への影響は非常に小さくなります。The impact in AUC is very small even when the positive class has 50% of its labels noisy, provided that the negative class contains 45% of noisy labels or less. この場合、AUC の減少は 0.03 未満です。In this case, the drop in AUC is less than 0.03. 私たちの知る限り、本研究は、セキュリティ バグ レポートを識別するために、ノイズを含むデータ セットの影響を系統的に調査した最初の研究です。To the best of our knowledge, this is the first systematic study on the effect of noisy data sets for security bug report identification.

今後の研究FUTURE WORKS

本論文は、セキュリティ バグの識別に向けた機械学習分類子のパフォーマンスに対して、ノイズがどのように影響するかということに関する初めての体系的研究となっています。In this paper we have started the systematic study of the effects of noise in the performance of machine learning classifiers for the identification of security bugs. この研究にはいくつかの興味深い後継研究が考えられます。たとえば、セキュリティ バグの重大度レベルを決定する際に、ノイズが含まれるデータ セットの影響を調べる、トレーニング済みモデルのノイズに対する弾力性へのクラスの不均衡の影響を理解する、データ セットに敵対的に導入されたノイズの影響について理解する、などです。There are several interesting sequels to this work, including: examining the effect of noisy data sets in determining the severity level of a security bug; understanding the effect of class imbalance on the resilience of the trained models against noise; understanding the effect of noise that is adversarially introduced in the data set.

REFERENCESREFERENCES

[1] John Anvik、Lyndon Hiew、Gail C Murphy。[1] John Anvik, Lyndon Hiew, and Gail C Murphy. 「Who should fix this bug? (だれがこのバグを修正するのか)」Who should fix this bug? "第 28 回ソフトウェア エンジニアリングに関する国際会議の議事録"、361 - 370 ページ。In Proceedings of the 28th international conference on Software engineering, pages 361–370. ACM、2006。ACM, 2006.

[2] Diksha Behl、Sahil Handa、Anuja Arora。[2] Diksha Behl, Sahil Handa, and Anuja Arora. 「A bug mining tool to identify and analyze security bugs using naive bayes and tf-idf (単純ベイズと tf-idf を使用してセキュリティ バグを特定し、分析するためのバグ マイニング ツール)」。A bug mining tool to identify and analyze security bugs using naive bayes and tf-idf. 2014 年開催の "最適化、信頼性、および情報技術に関する国際会議 (ICROIT) "、294 - 299 ページ。In Optimization, Reliabilty, and Information Technology (ICROIT), 2014 International Conference on, pages 294–299. IEEE、2014。IEEE, 2014.

[3] Nicolas Bettenburg、Rahul Premraj、Thomas Zimmermann、Sunghun Kim。[3] Nicolas Bettenburg, Rahul Premraj, Thomas Zimmermann, and Sunghun Kim. 「Duplicate bug reports considered harmful really? (重複するバグ レポートは本当に有害か)」。Duplicate bug reports considered harmful really? "2008 年開催のソフトウェアのメンテナンスに関する IEEE の国際会議。ICSM 2008。 "、337 - 345 ページ。In Software maintenance, 2008. ICSM 2008. IEEE international conference on, pages 337–345. IEEE、2008。IEEE, 2008.

[4] Andres Folleco、Taghi M Khoshgoftaar、Jason Van Hulse、Lofton Bullard。[4] Andres Folleco, Taghi M Khoshgoftaar, Jason Van Hulse, and Lofton Bullard. 「Identifying learners robust to low quality data (低品質データに対して堅牢な学習器を識別する)」。Identifying learners robust to low quality data. "2008 年開催の情報の再利用と統合に関する IEEE の国際会議。IRI 2008。 "、190 - 195 ページ。In Information Reuse and Integration, 2008. IRI 2008. IEEE International Conference on, pages 190–195. IEEE、2008。IEEE, 2008.

[5] Benoˆıt Frenay。「Uncertainty and label noise in machine learning (機械学習における不確実性とラベル ノイズ) 」。[5] Benoˆıt Frenay.´ Uncertainty and label noise in machine learning. 博士論文、ルーヴァン カトリック大学、ルーヴァン ラ ヌーヴ、ベルギー、2013 年。PhD thesis, Catholic University of Louvain, Louvain-la-Neuve, Belgium, 2013.

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

[7] Michael Gegick、Pete Rotella、Tao Xie。[7] Michael Gegick, Pete Rotella, and Tao Xie. 「Identifying security bug reports via text mining: An industrial case study (テキスト マイニングによるセキュリティ バグ レポートの識別: 業界向けケース スタディ)」。Identifying security bug reports via text mining: An industrial case study. "2010 年開催の第 7 回ソフトウェア リポジトリ マイニング (MSR) に関する IEEE の作業部会"、11 - 20 ページ。In Mining software repositories (MSR), 2010 7th IEEE working conference on, pages 11–20. IEEE、2010。IEEE, 2010.

[8] Katerina Goseva-Popstojanova、Jacob Tyo。[8] Katerina Goseva-Popstojanova and Jacob Tyo. 「Identification of security related bug reports via text mining using supervised and unsupervised classification (教師ありおよび教師なしの分類を使用した、テキスト マイニングによるセキュリティ関連バグ レポートの識別)」。Identification of security related bug reports via text mining using supervised and unsupervised classification. "2018 年開催のソフトウェアの品質、信頼性、セキュリティ (QRS) に関する IEEE の国際会議"、344 - 355 ページ、2018 年。In 2018 IEEE International Conference on Software Quality, Reliability and Security (QRS), pages 344–355, 2018.

[9] Ahmed Lamkanfi、Serge Demeyer、Emanuel Giger、Bart Goethals。[9] Ahmed Lamkanfi, Serge Demeyer, Emanuel Giger, and Bart Goethals. 「Predicting the severity of a reported bug (報告されたバグの重大度の予測)」。Predicting the severity of a reported bug. "2010 年開催の第 7 回マイニング ソフトウェア リポジトリ (MSR) に関する IEEE の作業部会"、1 - 10 ページ。In Mining Software Repositories (MSR), 2010 7th IEEE Working Conference on, pages 1–10. IEEE、2010。IEEE, 2010.

[10] Naresh Manwani、PS Sastry。[10] Naresh Manwani and PS Sastry. 「Noise tolerance under risk minimization (リスク最小化におけるノイズ トレランス)」。Noise tolerance under risk minimization. "人工頭脳工学に関する IEEE の議事録"、43 (3): 1146 - 1151 ページ、2013 年。IEEE transactions on cybernetics, 43(3):1146–1151, 2013.

[11] G Murphy、D Cubranic。[11] G Murphy and D Cubranic. 「Automatic bug triage using text categorization (テキスト分類を使用した自動バグ トリアージ)」。Automatic bug triage using text categorization. "第 16 回ソフトウェア エンジニアリングおよびナレッジ エンジニアリングに関する国際会議の議事録"。In Proceedings of the Sixteenth International Conference on Software Engineering & Knowledge Engineering. Citeseer、2004。Citeseer, 2004.

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

[13] Charlotte Pelletier、Silvia Valero、Jordi Inglada、Nicolas Champion、Claire Marais Sicre、Gerard Dedieu。「Effect of training class label noise on classification performances for land cover mapping with satellite image time series (時系列衛星画像を使用した土地被覆マッピングの分類パフォーマンスへのクラス ラベル ノイズのトレーニングの影響)」。[13] Charlotte Pelletier, Silvia Valero, Jordi Inglada, Nicolas Champion, Claire Marais Sicre, and Gerard Dedieu.´ Effect of training class label noise on classification performances for land cover mapping with satellite image time series. Remote Sensing (リモート センシング) 』、9 (2): 173 ページ、2017 年。Remote Sensing, 9(2):173, 2017.

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

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

[16] Dumidu Wijayasekara、Milos Manic、Miles McQueen。[16] Dumidu Wijayasekara, Milos Manic, and Miles McQueen. 「Vulnerability identification and classification via text mining bug databases (バグ データベースのテキスト マイニングを使用した脆弱性の識別と分類)」。Vulnerability identification and classification via text mining bug databases. "2014 年開催の第 40 回 IEEE Industrial Electronics Society (IECON) 年次会議、3612 - 3618 ページ。IEEE"、2014。In Industrial Electronics Society, IECON 2014-40th Annual Conference of the IEEE, pages 3612–3618. IEEE, 2014.

[17] Xinli Yang、David Lo、Qiao Huang、Xin Xia、Jianling Sun。[17] Xinli Yang, David Lo, Qiao Huang, Xin Xia, and Jianling Sun. 「Automated identification of high impact bug reports leveraging imbalanced learning strategies (不均衡な学習戦略を活用した、影響の大きいバグ レポートの自動識別)」。Automated identification of high impact bug reports leveraging imbalanced learning strategies. "2016 年開催の第 40 回 IEEE Computer Software and Applications Conference (COMPSAC) 年次会議"、第 1 巻、227 - 232 ページ。In Computer Software and Applications Conference (COMPSAC), 2016 IEEE 40th Annual, volume 1, pages 227–232. IEEE、2016。IEEE, 2016.

[18] Deqing Zou、Zhijun Deng、Zhen Li、Hai Jin。[18] Deqing Zou, Zhijun Deng, Zhen Li, and Hai Jin. 「Automatically identifying security bug reports via multitype features analysis (マルチタイプの特徴分析を使用した、セキュリティ バグ レポートの自動識別)」。Automatically identifying security bug reports via multitype features analysis. "情報セキュリティとプライバシーに関するオーストラリア会議"、619 - 633 ページ。In Australasian Conference on Information Security and Privacy, pages 619–633. Springer、2018。Springer, 2018.