Mi informacion de contacto
Correo[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Antecedentes de la investigación : En los últimos años, las herramientas de detección de vulnerabilidades de aprendizaje profundo han logrado resultados prometedores. El modelo de última generación reporta una puntuación F1 de 0,9 y supera al analizador estático. Los resultados son interesantes porque el aprendizaje profundo podría revolucionar la garantía del software. Por lo tanto, empresas industriales como IBM, Google y Amazon están muy interesadas e invierten mucho en el desarrollo de dichas herramientas y conjuntos de datos.
Problemas existentes : Aunque la detección de vulnerabilidades del aprendizaje profundo es prometedora, aún no ha alcanzado el nivel de visión por computadora y procesamiento del lenguaje natural. Gran parte de la investigación actual se centra en probar modelos emergentes de aprendizaje profundo y aplicarlos a conjuntos de datos como Devign o MSR. Sin embargo, sabemos muy poco sobre el modelo en sí, por ejemplo, qué tipos de programas puede manejar eficazmente el modelo, si debemos crear un modelo para cada tipo de vulnerabilidad o si debemos crear un modelo unificado para todos los tipos de vulnerabilidad con buenos datos de entrenamiento. cómo se ve el conjunto y qué información utiliza el modelo al tomar decisiones. Conocer las respuestas a estas preguntas puede ayudarnos a desarrollar, depurar y aplicar modelos mejor. Sin embargo, estas preguntas son difíciles de responder dada la naturaleza de caja negra del aprendizaje profundo. El propósito del artículo no es proporcionar soluciones completas a estos problemas, sino explorar estos objetivos.
pregunta cientifica : En este artículo, se investiga y reproduce una serie de modelos de detección de vulnerabilidades de aprendizaje profundo de última generación y se establecen preguntas de investigación para comprender estos modelos, con el objetivo de extraer lecciones y orientación de ellos para diseñar y depurar mejor modelos futuros.El artículo enmarca la pregunta de investigación y la divide en tres áreas, a saberCapacidades del modelo、datos de entrenamientoyExplicación del modelo . Específicamente, el objetivo principal del artículo es comprender las capacidades del aprendizaje profundo en problemas de detección de vulnerabilidades, con especial atención a las siguientes preguntas de investigación:
El segundo foco de investigación del artículo son los datos de entrenamiento. El objetivo del artículo es comprender si el tamaño y la composición de los datos de entrenamiento afectan el rendimiento del modelo y cómo lo hacen. Específicamente, el artículo construye las siguientes preguntas de investigación:
Finalmente, la tercera área de investigación de la tesis es la interpretación de modelos. El artículo utiliza la herramienta de interpretación del modelo SOTA para investigar:
contenido de la investigación : Para responder a las preguntas anteriores, el artículo analiza modelos de aprendizaje profundo de última generación y reproduce con éxito 11 modelos en sus conjuntos de datos originales. Estos modelos emplean diferentes arquitecturas de aprendizaje profundo como GNN, RNN, LSTM, CNN y Transformers. Para comparar estos modelos, el artículo logró ejecutar 9 modelos con dos conjuntos de datos populares, Devign y MSR. Las razones por las que el artículo elige estos dos conjuntos de datos son: (1) ambos conjuntos de datos contienen vulnerabilidades y proyectos del mundo real (2) los modelos en la mayoría de los artículos se evalúan y ajustan utilizando el conjunto de datos de Devign (3) el conjunto de datos MSR contiene 310 proyectos; , y los datos están anotados con tipos de vulnerabilidad, lo cual es crucial para nuestra pregunta de investigación. A través de experimentos cuidadosamente diseñados y la consideración de las amenazas, el artículo encontró resultados para seis preguntas de investigación. En general, las contribuciones de investigación de este artículo incluyen:
Para recopilar los modelos de aprendizaje profundo más avanzados, el artículo estudió artículos de 2018 a 2022 y se refirió a las clasificaciones CodeXGLUE de Microsoft y a las clasificaciones D2A de detección de defectos de IBM. El artículo utilizó todos los modelos de código abierto disponibles y reprodujo con éxito 11 modelos. En el paquete de replicación de datos del artículo se incluye una lista completa de modelos, así como las razones por las que no pudimos reproducir algunos modelos.
Como se muestra en la tabla anterior, los modelos reproducidos cubren varias arquitecturas de aprendizaje profundo. Devign y ReVeal utilizan GNN en gráficos de propiedades, integrando flujo de control, dependencias de datos y AST. ReGVD usa GNN en tokens. Code2Vec utiliza un perceptrón multicapa (MLP) en el AST. VulDeeLocator y SySeVR son modelos de secuencia basados en RNN y Bi-LSTM. La detección reciente de aprendizaje profundo utiliza Transformers previamente entrenados, incluidos CodeBERT, VulBERTa-CNN, VulBERTa-MLP, PLBART y LineVul.
En respuesta a las preguntas de investigación del artículo, el artículo seleccionó los conjuntos de datos de Devign y MSR. El artículo estudia estos 11 modelos en los conjuntos de datos utilizados en sus artículos originales, que se muestran en la tabla anterior. El artículo encontró que el conjunto de datos de Devign se ha utilizado para evaluar y ajustar 8 modelos. El conjunto de datos es un conjunto de datos equilibrado que contiene aproximadamente el mismo número de ejemplos vulnerables y no vulnerables, para un total de 27.318 puntos de datos (cada ejemplo también se denomina punto de datos). LineVul utiliza el conjunto de datos MSR, que es un conjunto de datos disponible recientemente. El conjunto de datos está desequilibrado y contiene 10.900 ejemplos vulnerables y 177.736 ejemplos no vulnerables. Los ejemplos tienen sus proyectos fuente, así como entradas de enumeración de debilidades comunes (CWE) que muestran el tipo de vulnerabilidad. El artículo utiliza estas características del conjunto de datos para formular algunas preguntas de investigación.
El documento reproduce los resultados del modelo basado en el conjunto de datos y la configuración originales, como se muestra en la tabla anterior. Entre ellos, las columnas A, P, R y F representan indicadores comúnmente utilizados en la detección de vulnerabilidades de aprendizaje profundo, incluida la exactitud, la precisión, la recuperación y la puntuación F1. En comparación con el papel original, los resultados de reproducción del papel suelen tener un error de cálculo del 2%. Los casos especiales son ReVeal, donde los autores confirmaron que nuestros resultados corrigieron el error de filtración de datos en el artículo original, y Devign, donde el artículo utilizó un código replicado por un tercero (publicado por Chakaborthy et al.) ya que el código original de Devign no era fuente abierta.