Определение отчетов об ошибках безопасности только на основе заголовков отчетов и данных с помехамиIdentifying Security Bug Reports Based Solely on Report Titles and Noisy Data

Майана Перейра (Mayana Pereira) Mayana Pereira

Обработка и анализ данных CELACELA Data Science
MicrosoftMicrosoft

Скотт Кристиансен (Scott Christiansen)Scott Christiansen

Безопасность и доверие клиентовCustomer Security and Trust
MicrosoftMicrosoft

Аннотация. Определение отчетов об ошибках безопасности (ООБ) — это очень важный шаг в жизненном цикле разработки программного обеспечения.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. Насколько нам известно, это первое исследование, которое показывает, что точное прогнозирование меток для ООБ возможно, даже если доступен только заголовок и имеются помехи меток.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. Введение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. Например, отчет об ошибках может содержать пароли, персональные идентификационные данные или другие конфиденциальные сведения — именно с такой ситуацией сейчас столкнулась корпорация Майкрософт.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. Это серьезная проблема, поскольку из-за неправильных меток в ООБ специалисты по безопасности вынуждены вручную проверять базу данных ошибок, а это занимает много времени и стоит дорого.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]. Однако не проводится систематическое и количественное исследование того, как различные уровни и типы помех влияют на производительность различных управляемых алгоритмов машинного обучения для проблемы выявления отчетов об ошибках безопасности (ООБ).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. Мы выполняем сравнительный анализ устойчивости трех методов машинного обучения (логистическая регрессия, упрощенный алгоритм Байеса и 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:

  • Мы обучаем классификаторы определять отчеты об ошибках безопасности (ООБ) исключительно на основании заголовков отчетов.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.

  • Мы также представляем первое систематическое исследование толерантности меток к помехам в различных моделях и методах машинного обучения, которые используются для автоматической классификации ООБ.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. Мы выполняем сравнительный анализ устойчивости трех разных методов машинного обучения (логистическая регрессия, упрощенный алгоритм Байеса и 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.

2.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. В идеале, объединение машинного обучения и обработки естественного языка позволяет сократить объем ручной работы, необходимый для курирования баз данных, и необходимое время на выполнение этих задач, а также позволяет повысить надежность результатов.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] авторы предлагают модель естественного языка для автоматизации классификации ООБ на основе описания ошибки.In [7] the authors propose a natural language model to automate the classification of SBRs based on the description of the bug. Авторы извлекают словарь из всех описаний ошибок в наборе данных для обучения и вручную разделяют его на три списка слов: релевантные слова, стоп-слова (общие слова, которые кажутся нерелевантными для классификации) и синонимы.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). На основе этих характеристик они создают модель для автоматического обнаружения ООБ с помощью методов обработки естественного языка и машинного обучения.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] авторы также изучают различные методы машинного обучения, чтобы классифицировать ошибки как ООБ или ООНБ (отчеты об ошибках, не связанных с безопасностью) на основе их описаний.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. Они предлагают конвейер для обработки данных и обучения модели на основе TFIDF.They propose a pipeline for data processing and model training based on TFIDF. Они сравнивают предложенный конвейер с моделью, основанной на наборах слов и упрощенном алгоритме Байеса.They compare the proposed pipeline with a model based on bag-of-words and naive Bayes. Вижайасекара (Wijayasekara) и соавторы [16] также используют методы интеллектуального анализа текста для создания вектора характеристик каждого отчета об ошибках на основе часто встречающихся слов для обнаружения ошибок со скрытым влиянием (ОСВ).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 (частота термина) и упрощенного алгоритма Байеса.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. Авторы предлагают три различных типа помех: помехи меток, которые происходят независимо от истинного класса и значений характеристик экземпляра; помехи меток, зависящие только от истинной метки; и помехи меток, где вероятность неправильных меток также зависит от значений характеристик.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. В своей работе мы изучаем первые два типа помех.In our work we study the first two types of noise. С теоретической точки зрения, помехи меток обычно сокращают производительность модели [10], за исключением некоторых конкретных случаев [14].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]. Насколько нам известно, не существует опубликованных работ, изучающих точную квантификацию воздействия меток с помехами в проблеме классификации ООБ.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.

3.III. ОПИСАНИЕ НАБОРА ДАННЫХDATA SET DESCRIPTION

Наш набор данных состоит из 1 073 149 заголовков ошибок, 552 073 из которых соответствуют ООБ и 521 076 — ООНБ.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 годах.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.

4.IV. МЕТОДОЛОГИЯMETHODOLOGY

Процесс обучения наших моделей машинного обучения состоит из двух основных этапов: кодирование данных в векторы характеристик и обучение контролируемых классификаторов машинного обучения.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

Первая часть включает в себя кодирование данных в векторы характеристик с использованием алгоритма TF-IDF (частота термина — обратная частота документа), который использовался в [2].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).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. Эти результаты были подтверждены в предварительном анализе, где эти три классификатора показали лучшие результаты, чем метод опорных векторов и алгоритм случайных лесов.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. Типы помех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. В своей работе мы анализируем влияние двух различных помех меток в наших классификаторах: независящие от класса помехи меток, которые появляются при случайном выборе экземпляров и изменении их меток; и зависящие от класса помехи, когда классы имеют разную вероятность наличия помех.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) Независящие от класса помехи. Независящие от класса помехи — это помехи, которые возникают независимо от истинного класса экземпляров.a) Class-independent noise: Class-independent noise refers to the noise that occurs independently of the true class of the instances. В этом типе помех вероятность ошибочного проставления меток pоо одинакова для всех экземпляров в наборе данных.In this type of noise, the probability of mislabeling pbr is the same for all instances in the data set. Мы добавляем независящие от класса помехи в наши наборы данных, меняя каждую метку в наборе данных случайным образом с вероятностью pоо.We introduce class-independent noise in our data sets by flipping each label in our data set at random with probability pbr.

б) Зависящие от класса помехи. Зависящие от класса помехи — это помехи, которые зависят от истинного класса экземпляров.b) Class-dependent noise: Class-dependent noise refers to the noise that depends on the true class of the instances. В этом типе помех вероятность ошибочной метки в классе ООБ составляет pооб, а в классе ООНБ — pоонб.In this type of noise, the probability of mislabeling in class SBR is psbr and the probability of mislabeling in class NSBR is pnsbr. Мы добавляем зависящие от класса помехи в наш набор данных, меняя каждую запись в наборе данных, имеющую истинную метку ООБ, с вероятностью pооб.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. Аналогично, мы меняем метку класса экземпляров ООНБ с вероятностью pоонб.Analogously, we flip the class label of NSBR instances with probability pnsbr.

в) Помехи одного класса. Помехи одного класса — это особый случай помех, зависящих от класса, где pоонб = 0 и pооб > 0.c) Single-class noise: Single-class noise is a special case of class-dependent noise, where pnsbr = 0 and psbr > 0. Обратите внимание, что для помех, независящих от класса, pооб = pоонб = pоо.Note that for class-independent noise we have psbr = pnsbr = pbr.

В.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.

Мы добавили помехи в наборы данных для обучения и проверки на различных уровнях pоо, pооб и pоонб.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).

В экспериментах с помехами, зависящими от класса, мы выполняем описанное ниже для pооб ∈ P и pоонб ∈ P для всех комбинаций pооб и pоонб: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) Производительность модели без помех в наборе данных для обучения: Одним из вкладов этого документа является предложение модели машинного обучения для обнаружения ошибок безопасности с использованием только заголовка ошибки в качестве данных для принятия решений.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. Мы сравниваем производительность трех моделей машинного обучения при обучении с использованием только заголовков ошибок.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) и откликом 0,9353 для значения FPR 0,0735.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 и откликом 0,9189 для FPR 0,0769.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 демонстрирует более низкую производительность в сравнении с двумя вышеупомянутыми классификаторами.The AdaBoost classifier has an inferior performance in comparison to the two previously mentioned classifiers. Он достигает значения AUC 0,9143 и отклика 0,7018 для FPR 0,0774.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. Class Noise: single-class

Можно представить ситуацию, когда по умолчанию все ошибки назначены классу ООНБ, а классу ООБ ошибка будет назначена только в том случае, если репозиторий ошибок будет просматривать эксперт по безопасности.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. Этот сценарий представлен в экспериментальном параметре с одним классом, где мы предполагаем, что pоонб = 0 и 0 < pооб < 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 мы наблюдаем очень небольшое воздействие на AUC для всех трех классификаторов.From table II we observe a very small impact in the AUC for all three classifiers. AUC-ROC из модели, обученной при pооб = 0, по сравнению с AUC-ROC модели, где pооб = 0,25, отличается на 0,003 для логистической регрессии, на 0,006 для упрощенного алгоритма Байеса и 0,006 для AdaBoost.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. В случае с pооб = 0,50 AUC, измеряемый для каждой модели, отличается от модели, обученной при pооб = 0 на 0,007 для логистической регрессии, 0,011 для упрощенного алгоритма Байеса и на 0,010 для AdaBoost.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. Class Noise: class-independent

Мы сравниваем производительность наших трех классификаторов для случая, когда обучающий набор ухудшен независящими от класса помехами.We compare the performance of our three classifiers for the case where the training set is corrupted by a class-independent noise. Мы измеряем AUC для каждой модели, обученной с различными уровнями pоо в обучающих данных.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 модели, обученной с независящими от класса помехами, с pоо = 0,25 отличается на 0,011 для логистической регрессии, на 0,008 для упрощенного алгоритма Байеса и на 0,0038 для AdaBoost.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. Мы видим, что помехи меток не влияют на AUC упрощенного алгоритм Байеса и классификатора AdaBoost, когда уровни помех ниже 40%.We observe that label noise does not impact the AUC of naive Bayes and AdaBoost classifiers significantly when noise levels are lower than 40%. С другой стороны, классификатор логистической регрессии испытывает влияние на значение AUC для уровней помех меток выше 30%.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. Для уровня помех pоо = 0,5 классификатор действует как случайный классификатор, т. е. AUC ≈ 0,5.For a noise level pbr =0.5 the classifier acts like a random classifier, i.e. AUC≈0.5. Но можно заметить, что для более низких уровней помех (pоо ≤ 0,30) обучение с логистической регрессией имеет более высокую производительность по сравнению с двумя другими моделями.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 ≤ pоо ≤ 0,45 обучение с упрощенным алгоритмом Байеса обеспечивает лучшие метрики AUCROC.However, for 0.35≤ pbr ≤0.45 naive Bayes learner presents better AUCROC metrics.

В. Помехи относительно класса: зависящие от классаC. Class Noise: class-dependent

В заключительном наборе экспериментов мы рассматриваем ситуацию, когда различные классы содержат разные уровни помех, т. е. pооб ≠ pоонб.In the final set of experiments, we consider a scenario where different classes contain different noise levels, i.e. psbr ≠ pnsbr. Мы систематически независимо увеличиваем pооб и pоонб на 0,05 в обучающих данных и наблюдаем за изменениями в поведении этих трех классификаторов.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 показана вариация AUC при увеличении помех на разных уровнях в каждом классе: для логистической регрессии в таблице IV, для упрощенного алгоритма Байеса в таблице V и для AdaBoost в таблице VI.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. Для всех классификаторов мы заметили влияние на метрику AUC, когда оба класса содержат уровень помех выше 30%.For all classifiers, we notice an impact in AUC metric when both classes contains noise level above 30%. Упрощенный алгоритм Байеса обеспечивает более высокую устойчивость.naive Bayes behaves mot robustly. Влияние на AUC очень мало, даже если изменено 50% метки в позитивном классе, при условии, что негативный класс содержит 30% или меньше меток с помехами.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 продемонстрировал наиболее устойчивое поведение среди всех трех классификаторов.AdaBoost presented the most robust behavior of all three classifiers. Значительное изменение в AUC будет происходить только для уровней помех, превышающих 45% в обоих классах.A significant change in AUC will only happen for noise levels greater than 45% in both classes. В этом случае мы начнем наблюдать снижение AUC выше 0,02.In that case, we start observing an AUC decay greater than 0.02.

Г. При наличии остаточных помех в исходном наборе данных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 и состоящими из независящих одинаково распределенных случайных величин для каждой записи.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.

Если поверх исходных помех мы добавим независящие от класса помехи из независящих одинаково распределенных случайных величин с вероятностью pоо, полученные помехи для каждой записи будут равны p∗ = p(1 − pоо) + (1 − p)pоо.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, pоо < 1/2 фактические помехи на метку p∗ строго больше, чем помехи, которые мы искусственно добавили в набор данных pоо.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

Наш вклад в этом документе — двойной.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. Наш результат показывает, что идентификация ООБ может выполняться с высокой точностью, даже когда доступны только заголовки отчетов.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.

Во-вторых, мы проанализировали влияние обучения с неправильными метками и данных проверки.Second, we analyzed the effect of mislabeled training and validation data. Мы сравнивали три хорошо известных метода классификации машинного обучения (упрощенный алгоритм Байеса, логистическая регрессия и 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. Все три классификатора являются устойчивыми к помехам одного класса.All three classifiers are robust to single-class noise. Помехи в обучающих данных не оказывают существенного влияния на полученный классификатор.Noise in the training data has no significant effect in the resulting classifier. Уменьшение AUC очень мало (0,01) для уровня помех, равного 50%.The decrease in AUC is very small ( 0.01) for a level of noise of 50%. Для помех, которые присутствуют в обоих классах и не зависят от класса, модели с упрощенным алгоритмом Байеса и AdaBoost демонстрируют существенные вариации в AUC только при обучении на наборе данных с уровнями помех выше 40%.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%.

Наконец, зависящие от класса помехи значительно влияют на AUC только в том случае, если в обоих классах более 35% помех.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. Влияние на AUC очень мало, даже если 50% меток в позитивном классе имеют помехи, при условии, что негативный класс содержит 45% или меньше меток с помехами.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? В Proceedings of the 28th international conference on Software engineering (Материалы 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. В Optimization, Reliabilty, and Information Technology (Оптимизация, надежность и информационные технологии) (ICROIT) , международная конференция 2014 г., страницы 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? В Software maintenance (Обслуживание программного обеспечения), 2008 г. ICSM 2008 г. Международная конференция IEEE, страницы 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. В Information Reuse and Integration (Повторное использование и интеграция информации), 2008 г. IRI 2008 г. IEEE International Conference (Международная конференция IEEE) , страницы 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: transactions on neural networks and learning systems (Транзакции в нейронных сетях и системах обучения) , 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. В Mining software repositories (MSR), 2010 7th IEEE working conference (Интеллектуальный анализ репозиториев программного обеспечения, 7-я рабочая конференция IEEE) 2010 г. , страницы 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 IEEE International Conference on Software Quality, Reliability and Security (QRS) (Международная конференция по качеству, надежности и безопасности программного обеспечения IEEE) 2018 г. , страницы 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. В Mining software repositories (MSR), 2010 7th IEEE working conference (Интеллектуальный анализ репозиториев программного обеспечения, 7-я рабочая конференция IEEE) 2010 г. , страницы 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 transactions on cybernetics (Транзакции IEEE в кибернетике) , 43(3):1146–1151, 2013 г.IEEE transactions on cybernetics, 43(3):1146–1151, 2013.

[11] Дж. Мерфи и Д. Кубраник (G Murphy and D Cubranic).[11] G Murphy and D Cubranic. Automatic bug triage using text categorization (Автоматическое рассмотрение ошибок с помощью классификации текста).Automatic bug triage using text categorization. В Proceedings of the Sixteenth International Conference on Software Engineering & Knowledge Engineering (Материалы 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. IEEE: Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics) (Транзакции с участием систем, людей и кибернетики, часть 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 Conference (Конференция 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. В Industrial Electronics Society, IECON 2014-40th Annual Conference of the IEEE (Общество промышленной электроники IEEE, IECON 2014 — 40-я ежегодная конференция IEEE), страницы 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 Huan), Синь Ся (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. В Computer Software and Applications Conference (COMPSAC), 2016 IEEE 40th Annual (40-я ежегодная конференция по программному обеспечению и приложениям IEEE), 2016 г. , том 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. В Australasian Conference on Information Security and Privacy (Австралийская конференция по информационной безопасности и конфиденциальности) , страницы 619–633.In Australasian Conference on Information Security and Privacy, pages 619–633. Springer, 2018 г.Springer, 2018.