minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Antecedentes da Pesquisa : Nos últimos anos, as ferramentas de detecção de vulnerabilidades de aprendizagem profunda alcançaram resultados promissores. O modelo de última geração relata uma pontuação F1 de 0,9 e supera o analisador estático. Os resultados são empolgantes porque o aprendizado profundo pode revolucionar a garantia de software. Portanto, empresas do setor como IBM, Google e Amazon estão muito interessadas e investem pesadamente no desenvolvimento de tais ferramentas e conjuntos de dados.
Problemas existentes : Embora a detecção de vulnerabilidades de aprendizagem profunda seja promissora, ela ainda não atingiu o nível de visão computacional e processamento de linguagem natural. Grande parte do foco da pesquisa atual está em experimentar modelos emergentes de aprendizagem profunda e aplicá-los a conjuntos de dados como os conjuntos de dados Devign ou MSR. No entanto, sabemos muito pouco sobre o modelo em si, por exemplo, quais tipos de programas o modelo pode efetivamente manipular, se devemos construir um modelo para cada tipo de vulnerabilidade ou se devemos construir um modelo unificado para todos os tipos de vulnerabilidade com bons dados de treinamento. a aparência do conjunto e quais informações o modelo usa ao tomar decisões. Saber as respostas a essas perguntas pode nos ajudar a desenvolver, depurar e aplicar melhor modelos. No entanto, estas questões são difíceis de responder dada a natureza da caixa preta da aprendizagem profunda. O objetivo do artigo não é fornecer soluções completas para esses problemas, mas explorar esses objetivos.
Questão científica : Neste artigo, o artigo investiga e reproduz uma série de modelos de detecção de vulnerabilidade de aprendizagem profunda de última geração e estabelece questões de pesquisa para compreender esses modelos, com o objetivo de tirar lições e orientações deles para melhor projetar e depurar modelos futuros.O artigo enquadra a questão de investigação e divide-a em três áreas, nomeadamenteCapacidades do modelo、dados de treinamentoeExplicação do modelo . Especificamente, o objetivo principal do artigo é compreender as capacidades do aprendizado profundo em problemas de detecção de vulnerabilidades, com foco especial nas seguintes questões de pesquisa:
O segundo foco de pesquisa do artigo são os dados de treinamento. O objetivo do artigo é compreender se e como o tamanho e a composição dos dados de treinamento afetam o desempenho do modelo. Especificamente, o artigo constrói as seguintes questões de pesquisa:
Por fim, a terceira área de pesquisa da tese é a interpretação de modelos. O artigo usa a ferramenta de interpretação do modelo SOTA para investigar:
conteúdo de pesquisa : Para responder às perguntas acima, o artigo pesquisa modelos de aprendizagem profunda de última geração e reproduz com sucesso 11 modelos em seus conjuntos de dados originais. Esses modelos empregam diferentes arquiteturas de aprendizagem profunda, como GNN, RNN, LSTM, CNN e Transformers. Para comparar esses modelos, o artigo conseguiu executar 9 modelos com dois conjuntos de dados populares, Devign e MSR. As razões pelas quais o artigo escolhe esses dois conjuntos de dados são: (1) ambos os conjuntos de dados contêm projetos e vulnerabilidades do mundo real; (2) os modelos na maioria dos artigos são avaliados e ajustados usando o conjunto de dados Devign; , e os dados são anotados com tipos de vulnerabilidade, o que é crucial para a nossa questão de pesquisa. Através de experiências cuidadosamente concebidas e da consideração de ameaças, o artigo encontrou resultados para seis questões de investigação. No geral, as contribuições de pesquisa deste artigo incluem:
A fim de coletar os modelos de aprendizagem profunda mais avançados, o artigo estudou artigos de 2018 a 2022 e referiu-se às classificações CodeXGLUE da Microsoft e às classificações D2A de detecção de defeitos da IBM. O artigo utilizou todos os modelos de código aberto disponíveis e reproduziu com sucesso 11 modelos. Uma lista completa de modelos, bem como os motivos pelos quais não conseguimos reproduzir alguns modelos, está incluída no pacote de replicação de dados do artigo.
Conforme mostrado na tabela acima, os modelos reproduzidos abrangem diversas arquiteturas de aprendizagem profunda. Devign e ReVeal usam GNN em gráficos de propriedades, integrando fluxo de controle, dependências de dados e AST. ReGVD usa GNN em tokens. Code2Vec usa um perceptron multicamada (MLP) no AST. VulDeeLocator e SySeVR são modelos de sequência baseados em RNN e Bi-LSTM. A detecção recente de aprendizado profundo usa transformadores pré-treinados, incluindo CodeBERT, VulBERTa-CNN, VulBERTa-MLP, PLBART e LineVul.
Em resposta às questões de pesquisa do artigo, o artigo selecionou conjuntos de dados Devign e MSR. O artigo estuda esses 11 modelos nos conjuntos de dados usados em seus artigos originais, que são mostrados na tabela acima. O artigo descobriu que o conjunto de dados Devign foi usado para avaliar e ajustar 8 modelos. O conjunto de dados é um conjunto de dados equilibrado que contém números aproximadamente iguais de exemplos vulneráveis e não vulneráveis, para um total de 27.318 pontos de dados (cada exemplo também é referido como um ponto de dados). LineVul usa o conjunto de dados MSR, que é um conjunto de dados disponível recentemente. O conjunto de dados está desequilibrado e contém 10.900 exemplos vulneráveis e 177.736 exemplos não vulneráveis. Os exemplos têm seus projetos de origem, bem como entradas Common Weakness Enumeration (CWE) mostrando o tipo de vulnerabilidade. O artigo usa essas características do conjunto de dados para formular algumas questões de pesquisa.
O artigo reproduz os resultados do modelo com base no conjunto de dados e configurações originais, conforme mostrado na tabela acima. Entre elas, as colunas A, P, R e F representam indicadores comumente usados na detecção de vulnerabilidades de aprendizagem profunda, incluindo exatidão, precisão, recall e pontuação F1. Comparados com o papel original, os resultados da reprodução do papel geralmente apresentam um erro de cálculo de 2%. Casos especiais são ReVeal, onde os autores confirmaram que nossos resultados corrigiram o erro de vazamento de dados no artigo original, e Devign, onde o artigo usou um código replicado de terceiros (publicado por Chakaborthy et al.), uma vez que o código Devign original não era Código aberto.