ChatPaper.aiChatPaper

Valutazione di Modelli Linguistici di Grandi Dimensioni per il Rilevamento di Vulnerabilità Software in Multilingue

Benchmarking Large Language Models for Multi-Language Software Vulnerability Detection

March 3, 2025
Autori: Ting Zhang, Chengran Yang, Yindu Su, Martin Weyssow, Hung Nguyen, Tan Bui, Hong Jin Kang, Yikun Li, Eng Lieh Ouh, Lwin Khin Shar, David Lo
cs.AI

Abstract

I recenti progressi nell'IA generativa hanno portato all'adozione diffusa di grandi modelli linguistici (LLM) nell'ingegneria del software, affrontando numerose sfide di lunga data. Tuttavia, manca uno studio completo che esamini le capacità degli LLM nel rilevamento delle vulnerabilità del software (SVD), un aspetto cruciale della sicurezza informatica. Le ricerche esistenti si concentrano principalmente sulla valutazione degli LLM utilizzando dataset in C/C++ e tipicamente esplorano solo una o due strategie tra prompt engineering, instruction tuning e fine-tuning della classificazione sequenziale per LLM open-source. Di conseguenza, esiste un significativo divario di conoscenza riguardo all'efficacia di diversi LLM nel rilevare vulnerabilità in vari linguaggi di programmazione. Per colmare questa lacuna, presentiamo uno studio empirico completo che valuta le prestazioni degli LLM nel compito di SVD. Abbiamo compilato un dataset completo comprendente 8.260 funzioni vulnerabili in Python, 7.505 in Java e 28.983 in JavaScript. Valutiamo cinque LLM open-source utilizzando approcci multipli, tra cui prompt engineering, instruction tuning e fine-tuning della classificazione sequenziale. Questi LLM sono confrontati con cinque piccoli modelli linguistici fine-tuned e due strumenti open-source di test di sicurezza delle applicazioni statiche. Inoltre, esploriamo due vie per migliorare le prestazioni degli LLM in SVD: a) Prospettiva dei dati: Riallenamento dei modelli utilizzando dataset bilanciati sottocampionati. b) Prospettiva del modello: Investigazione di metodi di ensemble learning che combinano previsioni da più LLM. I nostri esperimenti completi dimostrano che il SVD rimane un compito impegnativo per gli LLM. Questo studio fornisce una comprensione approfondita del ruolo degli LLM nel SVD e offre spunti pratici per futuri progressi nell'utilizzo dell'IA generativa per migliorare le pratiche di sicurezza del software.
English
Recent advancements in generative AI have led to the widespread adoption of large language models (LLMs) in software engineering, addressing numerous long-standing challenges. However, a comprehensive study examining the capabilities of LLMs in software vulnerability detection (SVD), a crucial aspect of software security, is currently lacking. Existing research primarily focuses on evaluating LLMs using C/C++ datasets. It typically explores only one or two strategies among prompt engineering, instruction tuning, and sequence classification fine-tuning for open-source LLMs. Consequently, there is a significant knowledge gap regarding the effectiveness of diverse LLMs in detecting vulnerabilities across various programming languages. To address this knowledge gap, we present a comprehensive empirical study evaluating the performance of LLMs on the SVD task. We have compiled a comprehensive dataset comprising 8,260 vulnerable functions in Python, 7,505 in Java, and 28,983 in JavaScript. We assess five open-source LLMs using multiple approaches, including prompt engineering, instruction tuning, and sequence classification fine-tuning. These LLMs are benchmarked against five fine-tuned small language models and two open-source static application security testing tools. Furthermore, we explore two avenues to improve LLM performance on SVD: a) Data perspective: Retraining models using downsampled balanced datasets. b) Model perspective: Investigating ensemble learning methods that combine predictions from multiple LLMs. Our comprehensive experiments demonstrate that SVD remains a challenging task for LLMs. This study provides a thorough understanding of the role of LLMs in SVD and offers practical insights for future advancements in leveraging generative AI to enhance software security practices.

Summary

AI-Generated Summary

PDF42March 6, 2025