Identificar informes de errores de seguridad basados únicamente en títulos de informe y datos ruidosos
| Ciencia de datos CELA Microsoft |
Confianza y seguridad del cliente Microsoft |
Resumen: identificar informes de errores de seguridad (SBR) es un paso esencial en el ciclo de vida del desarrollo de software. En los enfoques basados en aprendizaje automático supervisado, es habitual suponer que hay informes de errores completos disponibles para el aprendizaje y que sus etiquetas están libres de ruido. Para el mejor de nuestros conocimientos, este es el primer estudio que muestra que la predicción precisa de etiquetas es posible para los SBR incluso cuando solo el título está disponible y en presencia de ruido de etiquetas.
Términos de índice: Machine Learning, Etiquetado incorrecto, Ruido, Informe de errores de seguridad, Repositorios de errores
I. INTRODUCCIÓN
Identificar los problemas relacionados con la seguridad entre los errores notificados es una necesidad apremiante entre los equipos de desarrollo de software, ya que estos problemas exigen correcciones más rápidas para cumplir los requisitos de cumplimiento y garantizar la integridad del software y los datos de los clientes.
Las herramientas de aprendizaje automático e inteligencia artificial prometen hacer que el desarrollo de software sea más rápido, ágil y correcto. Varios investigadores han aplicado el aprendizaje automático al problema de identificación de errores de seguridad [2], [7], [8], [18]. Los estudios publicados anteriores han supuesto que todo el informe de errores está disponible para el aprendizaje y la puntuación de un modelo de aprendizaje automático. Este no es necesariamente el caso. Hay situaciones en las que no se puede hacer disponible todo el informe de errores. Por ejemplo, el informe de errores puede contener contraseñas, información de identificación personal (PII) u otros tipos de datos confidenciales, un caso que estamos enfrentando actualmente en Microsoft. Por lo tanto, es importante establecer qué tan bien se puede realizar la identificación de errores de seguridad con menos información, por ejemplo, cuando solo está disponible el título del informe de errores.
Además, los repositorios de errores a menudo contienen entradas mal etiquetadas [7]: informes de errores que no son de seguridad clasificados como relacionados con la seguridad y viceversa. Hay varias razones para que se produzca un etiquetado incorrecto, que van desde la falta de experiencia del equipo de desarrollo en materia de seguridad, hasta la difusa de ciertos problemas, por ejemplo, es posible que los errores que no sean de seguridad se puedan explotar de forma indirecta para causar una implicación en la seguridad. Este es un problema grave, ya que el etiquetado incorrecto de los SRS provoca que los expertos en seguridad tengan que revisar manualmente la base de datos de errores en un esfuerzo costoso y que requiere mucho tiempo. Comprender cómo el ruido afecta a los distintos clasificadores y la solidez (o la fragilidad) de las diferentes técnicas de aprendizaje automático en presencia de conjuntos de datos contaminados con diferentes tipos de ruido es un problema que debe solucionarse para llevar la clasificación automática a la práctica de la ingeniería de software.
El trabajo preliminar argumenta que los repositorios de errores son intrínsecamente ruidosos y que el ruido puede tener un efecto adverso en los clasificadores de aprendizaje automático de rendimiento [7]. Sin embargo, falta un estudio sistemático y cuantitativo de cómo afectan los distintos niveles y tipos de ruido al rendimiento de diferentes algoritmos de aprendizaje automático supervisados para el problema de identificación de informes de errores de seguridad (SRB).
En este estudio, se muestra que la clasificación de los informes de errores se puede realizar incluso cuando solo el título está disponible para el aprendizaje y la puntuación. Para nuestros conocimientos, este es el primer trabajo para hacerlo. Además, proporcionamos el primer estudio sistemático del efecto del ruido en la clasificación de informes de errores. Hacemos un estudio comparativo de la robustez de tres técnicas de aprendizaje automático (regresión logística, Bayes naïve y AdaBoost) contra el ruido independiente de clase.
Aunque hay algunos modelos analíticos que capturan la influencia general del ruido para unos cuantos clasificadores simples [5], [6], estos resultados no proporcionan límites estrechos sobre el efecto del ruido en la precisión y solo son válidos para una técnica de aprendizaje automático determinada. Normalmente, se realiza un análisis preciso del efecto del ruido en los modelos de aprendizaje automático mediante la realización de experimentos computacionales. Estos análisis se han realizado en varios escenarios, desde datos de medición de software [4], hasta clasificación de imágenes de satélite [13] y datos médicos [12]. Sin embargo, estos resultados no se pueden traducir a nuestro problema específico, debido a su alta dependencia de la naturaleza de los conjuntos de datos y el problema de clasificación subyacente. Hasta nuestros conocimientos, no hay resultados publicados sobre el problema del efecto de los conjuntos de datos ruidosos en la clasificación de informes de errores de seguridad en particular.
NUESTRAS CONTRIBUCIONES A LA INVESTIGACIÓN:
Entrenamos clasificadores para la identificación de informes de errores de seguridad (SBR) basados únicamente en el título de los informes. Para el mejor de nuestros conocimientos, este es el primer trabajo en hacerlo. Los trabajos anteriores usaron el informe de errores completo o mejoraron el informe de errores con características complementarias adicionales. Clasificar los errores basados únicamente en el icono es especialmente relevante cuando los informes de errores completos no se pueden hacer disponibles debido a problemas de privacidad. Por ejemplo, es notorio el caso de los informes de errores que contienen contraseñas y otros datos confidenciales.
También proporcionamos el primer estudio sistemático de la tolerancia al ruido de etiquetas de diferentes modelos y técnicas de aprendizaje automático que se usan para la clasificación automática de LOSR. Hacemos un estudio comparativo de la robustez de tres técnicas distintas de aprendizaje automático (regresión logística, bayas naïve y AdaBoost) contra el ruido dependiente de clase y el ruido independiente de clase.
El resto del documento se presenta de la siguiente manera: En la sección II presentamos algunos de los trabajos anteriores en la bibliografía. En la sección III describimos el conjunto de datos y cómo se procesan previamente los datos. La metodología se describe en la sección IV y los resultados de nuestros experimentos analizados en la sección V. Por último, nuestras conclusiones y futuros trabajos se presentan en VI.
II. TRABAJOS ANTERIORES
APLICACIONES DE APRENDIZAJE AUTOMÁTICO PARA REPOSITORIOS DE ERRORES.
Existe una amplia bibliografía al aplicar la minería de texto, el procesamiento de idioma natural y el aprendizaje automático en repositorios de errores en un intento de automatizar tareas laboriosas como la detección de errores de seguridad [2], [7], [8], [18], identificación de duplicados de errores [3], triaje de errores [1], [11], por nombrar algunas aplicaciones. Lo ideal es que la combinación de aprendizaje automático (ML) y procesamiento de lenguaje natural reduzca potencialmente el trabajo manual necesario para la corrección de bases de datos de errores, acorte el tiempo necesario para llevar a cabo estas tareas y puede aumentar la confiabilidad de los resultados.
En [7] los autores proponen un modelo de lenguaje natural para automatizar la clasificación de LOSR en función de la descripción del error. Los autores extraen un vocabulario de toda la descripción de errores del conjunto de datos de aprendizaje y lo curan manualmente en tres listas de palabras: palabras relevantes, palabras de alto (palabras comunes que parecen irrelevantes para la clasificación) y sinónimos. Comparan el rendimiento del clasificador de errores de seguridad entrenado en datos que son evaluados por ingenieros de seguridad y un clasificador capacitado en datos que fueron etiquetados por los reporteros de errores en general. Aunque su modelo es claramente más eficaz cuando se entrena en datos revisados por ingenieros de seguridad, el modelo propuesto se basa en un vocabulario derivado manualmente, lo que hace que dependa de la curación humana. Además, no hay ningún análisis de cómo afectan los distintos niveles de ruido a su modelo, cómo los distintos clasificadores responden al ruido y si el ruido en cualquiera de las clases afecta de forma diferente al rendimiento.
Zou et. al [18] haga uso de varios tipos de información contenida en un informe de errores que implican los campos no textuales de un informe de errores (meta características, por ejemplo, hora, gravedad y prioridad) y el contenido textual de un informe de errores (características textuales, es decir, el texto de los campos de resumen). Basándose en estas características, crean un modelo para identificar automáticamente los SBR mediante técnicas de procesamiento de lenguaje natural y aprendizaje automático. En [8] los autores realizan un análisis similar, pero además comparan el rendimiento de las técnicas de aprendizaje automático supervisadas y no supervisadas, y estudian la cantidad de datos necesarios para entrenar sus modelos.
En [2] los autores también exploran diferentes técnicas de aprendizaje automático para clasificar los errores como SBR o NSBR (Informe de errores no de seguridad) en función de sus descripciones. Proponen una canalización para el procesamiento de datos y el aprendizaje de modelos basados en TFIDF. Comparan la canalización propuesta con un modelo basado en una bolsa de palabras y bayas naïve. Wijayasekara et al. [16] también usó técnicas de minería de texto para generar el vector de características de cada informe de errores basado en palabras frecuentes para identificar errores de impacto oculto (HIB). Yang et al. [17] afirmaron identificar informes de errores de alto impacto (por ejemplo, SBR) con la ayuda de Frecuencia de término (TF) y Bayes naïve. En [9] los autores proponen un modelo para predecir la gravedad de un error.
RUIDO DE ETIQUETA
El problema de tratar los conjuntos de datos con el ruido de etiquetas se ha analizado ampliamente. Frenay y Verleysen proponen una taxonomía de ruido de etiqueta en [6], con el fin de distinguir diferentes tipos de etiqueta ruidosa. Los autores proponen tres tipos diferentes de ruido: ruido de etiqueta que se produce independientemente de la clase verdadera y de los valores de las características de instancia; ruido de etiqueta que depende solo de la etiqueta verdadera; y ruido de etiqueta donde la probabilidad de mal etiquetado también depende de los valores de característica. En nuestro trabajo estudiamos los dos primeros tipos de ruido. Desde una perspectiva teórico, el ruido de etiquetas suele disminuir el rendimiento de un modelo [10], excepto en algunos casos específicos [14]. En general, los métodos sólidos se basan en la evitación de sobreajuste para controlar el ruido de etiquetas [15]. El estudio de los efectos de ruido en la clasificación se ha realizado antes en muchas áreas, como la clasificación de imágenes de satélite [13], la clasificación de calidad del software [4] y la clasificación de dominios médicos [12]. Hasta el mejor de nuestros conocimientos, no hay trabajos publicados que estudien la cuantificación precisa de los efectos de etiquetas ruidosas en el problema de la clasificación de los SBR. En este escenario, no se ha establecido la relación precisa entre los niveles de ruido, los tipos de ruido y la degradación del rendimiento. Además, vale la pena comprender cómo se comportan los distintos clasificadores en presencia de ruido. En general, no somos conscientes de ningún trabajo que estudia sistemáticamente el efecto de los conjuntos de datos ruidosos en el rendimiento de diferentes algoritmos de aprendizaje automático en el contexto de informes de errores de software.
III. DESCRIPCIÓN DEL CONJUNTO DE DATOS
Nuestro conjunto de datos consta de 1.073.149 títulos de errores, de los que 552.073 corresponden a SBR y 521.076 a NSBR. Los datos se recopilaron de varios equipos de Microsoft en los años 2015, 2016, 2017 y 2018. Todas las etiquetas se obtuvieron mediante sistemas de verificación de errores basados en firmas o con etiquetas humanas. Los títulos de errores de nuestro conjunto de datos son textos muy breves, que contienen unas 10 palabras, con información general sobre el problema.
A. Data Pre-processing We parse each bug title by its blank spaces, resulting in a list of tokens. Procesamos cada lista de tokens de la siguiente manera:
Quitar todos los tokens que son rutas de archivo
Dividir tokens donde están presentes los siguientes símbolos: { , (, ), -, }, {, [, ], }
Quite palabras de detenerse, tokens compuestos solo por caracteres numéricos y tokens que aparecen menos de 5 veces en todo el corpus.
IV. METODOLOGÍA
El proceso de aprendizaje de nuestros modelos de aprendizaje automático consta de dos pasos principales: codificar los datos en vectores de características y entrenar clasificadores de aprendizaje automático supervisados.
A. Vectores de características y técnicas Machine Learning características
La primera parte implica codificar datos en vectores de características mediante el algoritmo de frecuencia inversa del documento (TF-IDF), tal como se usa en [2]. TF-IDF es una técnica de recuperación de información que pondera una frecuencia de términos (TF) y su frecuencia inversa de documentos (IDF). Cada palabra o término tiene su respectiva puntuación TF e IDF. El algoritmo TF-IDF asigna la importancia a esa palabra en función del número de veces que aparece en el documento y, lo que es más importante, comprueba la relevancia de la palabra clave en toda la colección de títulos del conjunto de datos. Hemos entrenado y comparado tres técnicas de clasificación: Bayes naïve (NB), árboles de decisión impulsados (AdaBoost) y regresión logística (LR). Hemos elegido estas técnicas porque se ha demostrado que tienen un buen rendimiento para la tarea relacionada de identificar informes de errores de seguridad basados en todo el informe de la bibliografía. Estos resultados se confirmaron en un análisis preliminar en el que estos tres clasificadores superaron el rendimiento de las máquinas vectoriales y los bosques aleatorios. En nuestros experimentos, utilizamos la biblioteca scikit-learn para codificación y aprendizaje de modelos.
B. Tipos de ruido
El ruido que se ha analizado en este trabajo hace referencia al ruido en la etiqueta de clase de los datos de aprendizaje. En presencia de este ruido, como consecuencia, el proceso de aprendizaje y el modelo resultante se ve afectado por ejemplos mal etiquetados. Analizamos el impacto de los distintos niveles de ruido aplicados a la información de clase. Los tipos de ruido de etiquetas se han analizado anteriormente en la bibliografía con varias terminologías. En nuestro trabajo, analizamos los efectos de dos ruidos de etiqueta diferentes en nuestros clasificadores: ruido de etiqueta independiente de clase, que se introduce seleccionando instancias al azar e invertiendo su etiqueta; y ruido dependiente de la clase, donde las clases tienen diferentes probabilidades de ser ruidosas.
a) Ruido independiente de clase:el ruido independiente de clase hace referencia al ruido que se produce independientemente de la clase verdadera de las instancias. En este tipo de ruido, la probabilidad de etiquetar de forma errónea pbr es la misma para todas las instancias del conjunto de datos. Introducimos ruido independiente de clase en nuestros conjuntos de datos invertiendo cada etiqueta de nuestro conjunto de datos al azar con probabilidad pbr.
b) Ruido dependiente de laclase: el ruido dependiente de la clase hace referencia al ruido que depende de la clase verdadera de las instancias. En este tipo de ruido, la probabilidad de etiquetar erróneamente en la clase SBR es psbr y la probabilidad de etiquetar erróneamente en la clase NSBR es pnsbr. Introducimos ruido dependiente de la clase en nuestro conjunto de datos invertiendo cada entrada en el conjunto de datos para el que la etiqueta verdadera es SBR con probabilidad psbr. De forma analógica, voltearemos la etiqueta de clase de las instancias NSBR con probabilidad pnsbr.
c) Ruido deuna sola clase: el ruido de una sola clase es un caso especial de ruido dependiente de la clase, donde pnsbr = 0 y psbr 0. Tenga en cuenta que para el ruido independiente de clase tenemos psbr = pnsbr = pbr.
C. Generación de ruido
Nuestros experimentos investigan el impacto de diferentes tipos de ruido y niveles en el aprendizaje de clasificadores de SBR. En nuestros experimentos, establecemos el 25 % del conjunto de datos como datos de prueba, el 10 % como validación y el 65 % como datos de aprendizaje.
Agregamos ruido a los conjuntos de datos de aprendizaje y validación para diferentes niveles de pbr,psbr y pnsbr . No hacemos ninguna modificación en el conjunto de datos de prueba. Los diferentes niveles de ruido usados son P = {0,05 × i|0 < i < 10}.
En los experimentos de ruido independiente de clase, para pbr ∈ P hacemos lo siguiente:
Generar ruido para conjuntos de datos de aprendizaje y validación;
Regresión logística del tren, bayas naïve y modelos AdaBoost con un conjunto de datos de aprendizaje (con ruido); * Ajustar modelos con un conjunto de datos de validación (con ruido);
Modelos de prueba que usan un conjunto de datos de prueba (sin ruido).
En los experimentos de ruido dependientes de clase, para psbr ∈ P y pnsbr ∈ P hacemos lo siguiente para todas las combinaciones de psbr y pnsbr:
Generar ruido para conjuntos de datos de aprendizaje y validación;
Regresión logística del tren, bayas naïve y modelos AdaBoost con un conjunto de datos de aprendizaje (con ruido);
Ajustar modelos con un conjunto de datos de validación (con ruido);
Modelos de prueba que usan un conjunto de datos de prueba (sin ruido).
V. RESULTADOS EXPERIMENTALES
En esta sección, analice los resultados de los experimentos realizados según la metodología descrita en la sección IV.
a)Rendimiento del modelo sin ruido en el conjunto de datos de aprendizaje: Una de las contribuciones de este documento es la propuesta de un modelo de aprendizaje automático para identificar errores de seguridad usando solo el título del error como datos para la toma de decisiones. Esto permite el aprendizaje de modelos de aprendizaje automático incluso cuando los equipos de desarrollo no desean compartir informes de errores en su totalidad debido a la presencia de datos confidenciales. Comparamos el rendimiento de tres modelos de aprendizaje automático cuando se entrenan usando solo títulos de errores.
El modelo de regresión logística es el clasificador con mejor rendimiento. Es el clasificador con el valor AUC más alto, de 0,9826, recuperación de 0,9353 para un valor FPR de 0,0735. El clasificador bayes naívo presenta un rendimiento ligeramente menor que el clasificador de regresión logística, con un AUC de 0,9779 y una recuperación de 0,9189 para un FPR de 0,0769. El clasificador AdaBoost tiene un rendimiento inferior en comparación con los dos clasificadores mencionados anteriormente. Consigue un AUC de 0,9143 y una recuperación de 0,7018 para un 0,0774 FPR. El área debajo de la curva ROC (AUC) es una buena métrica para comparar el rendimiento de varios modelos, ya que resume en un solo valor la relación TPR frente a LA FPR. En el análisis posterior restringiremos nuestro análisis comparativo a los valores de AUC.

A. Ruido de clase: una clase
Uno puede imaginar un escenario en el que todos los errores se asignan a la clase NSBR de forma predeterminada y un error solo se asignará a la clase SBR si hay un experto en seguridad revisando el repositorio de errores. Este escenario se representa en la configuración experimental de una sola clase, donde se supone que pnsbr = 0 y 0 psbr 0,5.

Desde la tabla II observamos un impacto muy pequeño en el AUC para los tres clasificadores. El AUC-ROC de un modelo entrenado en psbr = 0 en comparación con un AUC-ROC de modelo donde psbr = 0,25 difiere en 0,003 para regresión logística, 0,006 para bayas naïve y 0,006 para AdaBoost. En el caso de psbr = 0,50, el AUC medido para cada uno de los modelos difiere del modelo entrenado con psbr = 0 por 0,007 para regresión logística, 0,011 para bayas naïve y 0,010 para AdaBoost. El clasificador de regresión logística entrenado en presencia de ruido de una sola clase presenta la variación más pequeña en su métrica AUC, es decir, un comportamiento más sólido, en comparación con nuestros clasificadores bayes y AdaBoost.
B. Ruido de clase: independiente de la clase
Comparamos el rendimiento de nuestros tres clasificadores para el caso en que el conjunto de aprendizaje está dañado por un ruido independiente de la clase. Medimos el AUC para cada modelo entrenado con diferentes niveles de pbr en los datos de aprendizaje.

En la tabla III observamos una disminución en el AUC-ROC por cada incremento de ruido del experimento. El AUC-ROC medido a partir de un modelo entrenado en datos sin ruido en comparación con un AUC-ROC de modelo entrenado con ruido independiente de clase con pbr = 0,25 difiere en 0,011 para regresión logística, 0,008 para Bayes naïve y 0,0038 para AdaBoost. Observamos que el ruido de etiquetas no afecta significativamente al AUC de los clasificadores bayes y AdaBoost naïve cuando los niveles de ruido son inferiores al 40 %. Por otro lado, el clasificador de regresión logística experimenta un impacto en la medida AUC para los niveles de ruido de etiqueta superiores al 30 %.

Fig. 1. Variación de AUC-ROC en ruido independiente de clase. Para un nivel de ruido pbr =0,5, el clasificador actúa como un clasificador aleatorio, es decir, AUC≈0,5. Pero podemos observar que para niveles de ruido más bajos (pbr ≤0,30), el alumno de regresión logística presenta un mejor rendimiento en comparación con los otros dos modelos. Sin embargo, para 0,35≤ pbr ≤0,45 naïve Bayes learner presenta mejores métricas AUCROC.
C. Ruido de clase: dependiente de la clase
En el conjunto final de experimentos, consideramos un escenario en el que las diferentes clases contienen diferentes niveles de ruido, es decir, psbr ≠ pnsbr. Incrementamos sistemáticamente psbr y pnsbr de forma independiente en 0,05 en los datos de aprendizaje y observamos el cambio en el comportamiento de los tres clasificadores.



Las tablas IV, V, VI muestran la variación de AUC a medida que aumenta el ruido en diferentes niveles de cada clase para la regresión logística en la tabla IV, para bayas naíves en la tabla V y para AdaBoost en la tabla VI. Para todos los clasificadores, observamos un impacto en la métrica AUC cuando ambas clases contienen un nivel de ruido superior al 30 %. Bayes naïve se comporta fuertemente. El impacto en AUC es muy pequeño incluso cuando se invierte el 50 % de la etiqueta de la clase positiva, siempre que la clase negativa contenga el 30 % de etiquetas ruidosas o menos. En este caso, la colocación en AUC es de 0,03. AdaBoost presentó el comportamiento más sólido de los tres clasificadores. Un cambio significativo en AUC solo se realizará para niveles de ruido superiores al 45 % en ambas clases. En ese caso, empezamos a observar una decadencia de AUC mayor que 0,02.
D. En La presencia de ruido residual en el conjunto de datos original
Nuestro conjunto de datos fue etiquetado por sistemas automatizados basados en firmas y por expertos humanos. Además, todos los informes de errores han sido revisados y cerrados por expertos humanos. Aunque esperamos que la cantidad de ruido de nuestro conjunto de datos sea mínima y no estadísticamente significativa, la presencia de ruido residual no invalida nuestras conclusiones. De hecho, en aras de la ilustración, suponga que el conjunto de datos original está dañado por un ruido independiente de clase igual a 0 p 1/2 independiente e distribuido de forma idéntica << (i.i.d) para cada entrada.
Si, además del ruido original, agregamos un ruido independiente de clase con probabilidad pbr i.i.d, el ruido resultante por entrada será p∗ = p(1 − pbr )+(1 − p)pbr . Para 0 < p,p<< 1/2, tenemos que el ruido real por etiqueta p∗ es estrictamente mayor< que el ruido que agregamos artificialmente al conjunto de datos p br . Por lo tanto, el rendimiento de nuestros clasificadores sería incluso mejor si se entrenaran con un conjunto de datos completamente inocuo (p = 0) en primer lugar. En resumen, la existencia de ruido residual en el conjunto de datos real significa que la resistencia frente al ruido de nuestros clasificadores es mejor que los resultados aquí presentados. Además, si el ruido residual de nuestro conjunto de datos fuera estadísticamente relevante, el AUC de nuestros clasificadores se convertiría en 0,5 (una conjetura aleatoria) para un nivel de ruido estrictamente inferior a 0,5. No observamos este comportamiento en nuestros resultados.
VI. CONCLUSIONES Y TRABAJOS FUTUROS
Nuestra contribución en este artículo es doble.
En primer lugar, hemos mostrado la viabilidad de la clasificación de informes de errores de seguridad basándonos únicamente en el título del informe de errores. Esto es especialmente relevante en escenarios en los que todo el informe de errores no está disponible debido a restricciones de privacidad. Por ejemplo, en nuestro caso, los informes de errores contenían información privada, como contraseñas y claves criptográficas, y no estaban disponibles para el aprendizaje de los clasificadores. Nuestro resultado muestra que la identificación de SBR se puede realizar con alta precisión incluso cuando solo los títulos del informe están disponibles. Nuestro modelo de clasificación que utiliza una combinación de TF-IDF y regresión logística se ejecuta en un AUC de 0,9831.
En segundo lugar, analizamos el efecto de los datos de validación y aprendizaje mal etiquetados. Hemos comparado tres técnicas de clasificación de aprendizaje automático conocidas (bayas naíves, regresión logística y AdaBoost) en términos de su robustez con distintos tipos de ruido y niveles de ruido. Los tres clasificadores son resistentes al ruido de una sola clase. El ruido en los datos de aprendizaje no tiene ningún efecto significativo en el clasificador resultante. La disminución de AUC es muy pequeña (0,01) para un nivel de ruido del 50 %. Para el ruido presente en ambas clases y es independiente de la clase, los modelos Bayes y AdaBoost presentan variaciones significativas en AUC solo cuando se entrenan con un conjunto de datos con niveles de ruido superiores al 40 %.
Por último, el ruido dependiente de la clase afecta significativamente al AUC solo cuando hay más de un 35 % de ruido en ambas clases. AdaBoost mostró la mayor robustez. El impacto en AUC es muy pequeño incluso cuando la clase positiva tiene un 50 % de las etiquetas ruidosas, siempre que la clase negativa contenga el 45 % de etiquetas ruidosas o menos. En este caso, la caída en AUC es menor que 0,03. Para el mejor de nuestros conocimientos, este es el primer estudio sistemático sobre el efecto de los conjuntos de datos ruidosos para la identificación de informes de errores de seguridad.
FUTUROS TRABAJOS
En este artículo hemos iniciado el estudio sistemático de los efectos del ruido en el rendimiento de los clasificadores de aprendizaje automático para la identificación de errores de seguridad. Hay varias continuaciones interesantes de este trabajo, entre las que se incluyen: examinar el efecto de los conjuntos de datos ruidosos para determinar el nivel de gravedad de un error de seguridad; comprender el efecto del desbalance de clase en la resistencia de los modelos entrenados contra el ruido; comprender el efecto del ruido que se introduce de forma adversa en el conjunto de datos.
REFERENCIAS
[1] John Anvik, Lyndon Hiew y Gail C Murphy. Quién Debería corregir este error? En Proceedings of the 28th international conference on Software engineering, páginas 361–370. ACM, 2006.
[2] Diksha Behl, Sahil Handa y Anuja Arora. Una herramienta de minería de errores para identificar y analizar errores de seguridad con bayas naïve y tf-idf. En Optimización, Reliabilty yTecnología de la información (ICROIT), Conferencia Internacional 2014 en, páginas 294–299. IEEE, 2014.
[3] Nicolás Bettenburg, Rahul Premraj, Thomas Zimmermann y Sunghun Kim. ¿Los informes de errores duplicados se consideran perjudiciales realmente? En mantenimiento de software, 2008. ICSM 2008. Conferencia internacional ieee en, páginas 337–345. IEEE, 2008.
[4] Andrés Folleco, Taghi M Joshgoftaar, Jason Van Hulse y Lofton Bullard. Identificar los datos de los alumnos robustos a de baja calidad. En Reutilización e integración de la información, 2008. IRI 2008. Ieee International Conference on, páginas 190-195. IEEE, 2008.
[5] Benoˆıt Frenay.' Incertidumbre y ruido de etiquetas en el aprendizaje automático. Tesis de doctor, Universidad Católica de Louvain, Louvain-la-Neuve, Bélgica, 2013.
[6] Benoˆıt Frenay y Miguel Verleysen. Clasificación en presencia de ruido de etiqueta: una encuesta. Transacciones IEEE en redes neuronalesy sistemas de aprendizaje , 25(5):845-869, 2014.
[7] Michael Gegick, Pete Rotella y Tao Xie. Identificar informes de errores de seguridad a través de la minería de texto: un caso práctico industrial. En repositorios de software de minería (MSR), 7.ªconferencia de trabajo de IEEE de 2010 en , páginas 11 a 20. IEEE, 2010.
[8] Katerina Goseva-Popstojanova y Jacob Tyo. Identificación de informes de errores relacionados con la seguridad a través de la minería de texto mediante clasificación supervisada y sin supervisión. En 2018 IEEE International Conference on Software Quality, Reliability and Security (QRS),páginas 344-355, 2018.
[9] Ahmed Lamkanfi, Serge Demeyer, Emanuel Giger y Bart Goethals. Predecir la gravedad de un error notificado. En Repositorios de software de minería (MSR), 7.ªConferencia de trabajo de IEEE de 2010 en , páginas 1 a 10. IEEE, 2010.
[10] Naresh Manwani y PS Sastry. Tolerancia al ruido bajo minimización de riesgo. Transacciones IEEE en cibernéticas, 43(3):1146–1151, 2013.
[11] G Murphy y D Cubranic. Evaluación automática de errores mediante categorización de texto. En El procedimiento de la Decimosexta Conferencia Internacional sobre Ingeniería de conocimientos de ingeniería de software. Citeseer, 2004.
[12] Mykola Pechenizkiy, Alexey Tsymbal, Seppo Puuronen y Oleksandr Pechenizkiy. Ruido de clase y aprendizaje supervisado en dominios médicos: El efecto de la extracción de características. En null, páginas 708–713. IEEE, 2006.
[13] Carlota Pelletier, Silvia Valero, Jordi Inglada, Nicolás Champion, Claire Marais Sicre y Gerard Dedieu.' Efecto del ruido de etiquetas de clase de aprendizaje en las representaciones de clasificación para la asignación de portadas terrestres con series de tiempo de imagen satelital. Teledetección, 9(2):173, 2017.
[14] PS Sastry, GD Nagendra y Naresh Manwani. Un equipo de autómatas de aprendizaje continuo para el aprendizaje de espacios medio con tolerancia al ruido. Ieee Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 40(1):19-28, 2010.
[15] Choh-Man Teng. Una comparación de las técnicas de manipulación de ruido. En flairs conference, páginas 269–273, 2001.
[16] Dumidu Wijayasekara, Milos Manic y Miles McQueen. Identificación y clasificación de vulnerabilidades a través de bases de datos de errores de minería de texto. En Industrial Electronics Society, IECON 2014-40th Annual Conference of the IEEE, páginas 3612-3618. IEEE, 2014.
[17] Xinli Yang, David Lo, Qiao Huang, Xin Xia y Jianling Sun. Identificación automatizada de informes de errores de alto impacto que aprovechan estrategias de aprendizaje desajustadas. En Computer Software and Applications Conference (COMPSAC), 2016 IEEE 40th Annual, volumen 1, páginas 227-232. IEEE, 2016.
[18] Deqing Zou, Zhijun Deng, Zhen Li y Hai Jin. Identificar automáticamente informes de errores de seguridad mediante análisis de características multitipo. En conferencia australasiática sobre seguridad dela información y privacidad , páginas 619–633. Springer, 2018.