ChatPaper.aiChatPaper

Évaluation des modèles de langage de grande taille pour la détection des vulnérabilités logicielles multilingues

Benchmarking Large Language Models for Multi-Language Software Vulnerability Detection

March 3, 2025
Auteurs: 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

Résumé

Les récentes avancées en intelligence artificielle générative ont conduit à l'adoption généralisée des grands modèles de langage (LLMs) dans le domaine de l'ingénierie logicielle, permettant de relever de nombreux défis de longue date. Cependant, une étude approfondie examinant les capacités des LLMs dans la détection des vulnérabilités logicielles (SVD), un aspect crucial de la sécurité des logiciels, fait actuellement défaut. Les recherches existantes se concentrent principalement sur l'évaluation des LLMs à l'aide de jeux de données en C/C++. Elles explorent généralement une ou deux stratégies parmi l'ingénierie des prompts, l'ajustement par instruction et le fine-tuning par classification de séquence pour les LLMs open-source. Par conséquent, il existe un manque de connaissances significatif concernant l'efficacité des différents LLMs dans la détection des vulnérabilités à travers divers langages de programmation. Pour combler cette lacune, nous présentons une étude empirique approfondie évaluant la performance des LLMs sur la tâche de SVD. Nous avons compilé un jeu de données complet comprenant 8 260 fonctions vulnérables en Python, 7 505 en Java et 28 983 en JavaScript. Nous évaluons cinq LLMs open-source en utilisant plusieurs approches, incluant l'ingénierie des prompts, l'ajustement par instruction et le fine-tuning par classification de séquence. Ces LLMs sont comparés à cinq petits modèles de langage fine-tunés et à deux outils open-source de test de sécurité applicative statique. De plus, nous explorons deux voies pour améliorer la performance des LLMs sur la SVD : a) Perspective des données : Réentraînement des modèles en utilisant des jeux de données équilibrés sous-échantillonnés. b) Perspective du modèle : Investigation des méthodes d'apprentissage ensembliste combinant les prédictions de plusieurs LLMs. Nos expériences approfondies démontrent que la SVD reste une tâche complexe pour les LLMs. Cette étude offre une compréhension approfondie du rôle des LLMs dans la SVD et fournit des insights pratiques pour les futures avancées dans l'exploitation de l'IA générative pour améliorer les pratiques de sécurité logicielle.
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