le mie informazioni di contatto
Posta[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Contesto della ricerca : Negli ultimi anni, gli strumenti di rilevamento delle vulnerabilità del deep learning hanno ottenuto risultati promettenti. Il modello all'avanguardia riporta un punteggio F1 di 0,9 e supera l'analizzatore statico. I risultati sono entusiasmanti perché il deep learning potrebbe rivoluzionare la sicurezza del software. Pertanto, aziende del settore come IBM, Google e Amazon sono molto interessate e investono molto nello sviluppo di tali strumenti e set di dati.
Problemi esistenti : Sebbene il rilevamento delle vulnerabilità del deep learning sia promettente, non ha ancora raggiunto il livello della visione artificiale e dell’elaborazione del linguaggio naturale. Gran parte dell’attuale focus della ricerca è sulla sperimentazione di modelli emergenti di deep learning e sulla loro applicazione a set di dati come i set di dati Designn o MSR. Tuttavia, sappiamo molto poco del modello stesso, ad esempio, quali tipi di programmi può gestire efficacemente il modello, se dovremmo creare un modello per ciascun tipo di vulnerabilità o dovremmo creare un modello unificato per tutti i tipi di vulnerabilità con buoni dati di addestramento. l'aspetto del set e quali informazioni utilizza il modello quando prende decisioni. Conoscere le risposte a queste domande può aiutarci a sviluppare, eseguire il debug e applicare meglio i modelli. Tuttavia, è difficile rispondere a queste domande data la natura “scatola nera” del deep learning. Lo scopo del documento non è quello di fornire soluzioni complete a questi problemi, ma di esplorare questi obiettivi.
Domanda scientifica : In questo articolo, l'articolo analizza e riproduce una serie di modelli all'avanguardia di rilevamento delle vulnerabilità del deep learning e stabilisce domande di ricerca per comprendere tali modelli, con l'obiettivo di trarne lezioni e indicazioni per una migliore progettazione e debug dei modelli futuri.Il documento inquadra la domanda di ricerca e la divide in tre aree, vale a direCapacità del modello、dati di allenamentoESpiegazione del modello . Nello specifico, l'obiettivo principale del documento è comprendere le capacità del deep learning nei problemi di rilevamento delle vulnerabilità, con particolare attenzione alle seguenti domande di ricerca:
Il secondo focus di ricerca del documento riguarda i dati di addestramento. L'obiettivo del documento è comprendere se e come la dimensione e la composizione dei dati di training influiscono sulle prestazioni del modello. Nello specifico, il contributo costruisce le seguenti domande di ricerca:
Infine, la terza area di ricerca della tesi è l’interpretazione dei modelli. Il documento utilizza lo strumento di interpretazione del modello SOTA per indagare:
contenuto della ricerca : Per rispondere alle domande di cui sopra, l’articolo esamina i modelli di deep learning all’avanguardia e riproduce con successo 11 modelli sui loro set di dati originali. Questi modelli utilizzano diverse architetture di deep learning come GNN, RNN, LSTM, CNN e Transformers. Per confrontare questi modelli, il documento è riuscito a eseguire 9 modelli con due set di dati popolari, Designn e MSR. I motivi per cui il documento sceglie questi due set di dati sono: (1) entrambi i set di dati contengono progetti e vulnerabilità del mondo reale (2) i modelli nella maggior parte dei documenti vengono valutati e ottimizzati utilizzando il set di dati Devign (3) Il set di dati MSR contiene 310 progetti; e i dati sono annotati con i tipi di vulnerabilità, il che è cruciale per la nostra domanda di ricerca. Attraverso esperimenti attentamente progettati e considerazione delle minacce, lo studio ha trovato risultati per sei domande di ricerca. Nel complesso, i contributi di ricerca di questo articolo includono:
Per raccogliere i modelli di deep learning più avanzati, il documento ha studiato documenti dal 2018 al 2022 e ha fatto riferimento alle classifiche CodeXGLUE di Microsoft e alle classifiche D2A di rilevamento dei difetti di IBM. Il documento ha utilizzato tutti i modelli open source disponibili e ha riprodotto con successo 11 modelli. Un elenco completo dei modelli, nonché i motivi per cui non siamo riusciti a riprodurre alcuni modelli, è incluso nel pacchetto di replica dei dati del documento.
Come mostrato nella tabella sopra, i modelli riprodotti coprono varie architetture di deep learning. Designn e ReVeal utilizzano GNN sui grafici delle proprietà, integrando flusso di controllo, dipendenze dei dati e AST. ReGVD utilizza GNN sui token. Code2Vec utilizza un percettrone multistrato (MLP) sull'AST. VulDeeLocator e SySeVR sono modelli di sequenza basati su RNN e Bi-LSTM. Il recente rilevamento del deep learning utilizza trasformatori pre-addestrati, tra cui CodeBERT, VulBERTa-CNN, VulBERTa-MLP, PLBART e LineVul.
In risposta alle domande di ricerca del documento, il documento ha selezionato i set di dati Designn e MSR. L'articolo studia questi 11 modelli sui set di dati utilizzati nei loro articoli originali, mostrati nella tabella sopra. L'articolo ha rilevato che il set di dati Designn è stato utilizzato per valutare e mettere a punto 8 modelli. Il set di dati è un set di dati bilanciato contenente un numero approssimativamente uguale di esempi vulnerabili e non vulnerabili, per un totale di 27.318 punti dati (ogni esempio viene anche definito punto dati). LineVul utilizza il set di dati MSR, che è un set di dati disponibile di recente. Il set di dati è sbilanciato e contiene 10.900 esempi vulnerabili e 177.736 esempi non vulnerabili. Negli esempi sono presenti i progetti di origine e le voci CWE (Common Weakness Enumeration) che mostrano il tipo di vulnerabilità. Il documento utilizza queste caratteristiche del dataset per formulare alcune domande di ricerca.
Il documento riproduce i risultati del modello in base al set di dati e alle impostazioni originali, come mostrato nella tabella sopra. Tra queste, le colonne A, P, R e F rappresentano indicatori comunemente utilizzati nel rilevamento delle vulnerabilità del deep learning, tra cui accuratezza, precisione, richiamo e punteggio F1. Rispetto alla carta originale, i risultati della riproduzione della carta presentano solitamente un errore di calcolo entro il 2%. Casi speciali sono ReVeal, in cui gli autori hanno confermato che i nostri risultati hanno corretto l'errore di fuga di dati nell'articolo originale, e Devign, in cui l'articolo ha utilizzato un codice replicato di terze parti (pubblicato da Chakaborthy et al.) poiché il codice Devign originale non lo era fonte aperta.