Automated Code-centric Software Vulnerability Assessment: How Far Are We? An Empirical Study in C/C++
Not on the map. Why?
Abstract (arXiv)
Background: The C and C++ languages hold significant importance in Software Engineering research because of their widespread use in practice. Numerous studies have utilized Machine Learning (ML) and Deep Learning (DL) techniques to detect software vulnerabilities (SVs) in the source code written in these languages. However, the application of these techniques in function-level SV assessment has been largely unexplored. SV assessment is increasingly crucial as it provides detailed information on the exploitability, impacts, and severity of security defects, thereby aiding in their prioritization and remediation. Aims: We conduct the first empirical study to investigate and compare the performance of ML and DL models, many of which have been used for SV detection, for function-level SV assessment in C/C++. Method: Using 9,993 vulnerable C/C++ functions, we evaluated the performance of six multi-class ML models and five multi-class DL models for the SV assessment at the function level based on the Common Vulnerability Scoring System (CVSS). We further explore multi-task learning, which can leverage common vulnerable code to predict all SV assessment outputs simultaneously in a single model, and compare the effectiveness and efficiency of this model type with those of the original multi-class models. Results: We show that ML has matching or even better performance compared to the multi-class DL models for function-level SV assessment with significantly less training time. Employing multi-task learning allows the DL models to perform significantly better, with an average of 8-22% increase in Matthews Correlation Coefficient (MCC). Conclusions: We distill the practices of using data-driven techniques for function-level SV assessment in C/C++, including the use of multi-task DL to balance efficiency and effectiveness. This can establish a strong foundation for future work in this area.
Key facts. Cited by 6 papers in the map (data through 14 Oct 2026). Builds on 35 of its 89 references that are in the map. First posted on arXiv 24 Jul 2024.
Builds on
35 of 89 references.
References · 35
- 2017Attention Is All You Needcited by 60,361
- 2016XGBoost: A Scalable Tree Boosting Systemcited by 5,166
- 2014Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translationcited by 4,057
- 2013Distributed Representations of Words and Phrases and their Compositionalitycited by 3,474
- 2015Neural Machine Translation of Rare Words with Subword Unitscited by 2,918
- 2016Enriching Word Vectors with Subword Informationcited by 1,583
- 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,310
- 2014Convolutional Neural Networks for Sentence Classificationcited by 1,127
- 2017A Survey on Multi-Task Learningcited by 840
- 2015Gated Graph Sequence Neural Networkscited by 796
- 2018Tune: A Research Platform for Distributed Model Selection and Trainingcited by 395
- 2015Visualizing and Understanding Recurrent Networkscited by 160
23 more
- 2020Deep Learning based Vulnerability Detection: Are We There Yet?cited by 144
- 2018Automated Vulnerability Detection in Source Code Using Deep Representation Learningcited by 114
- 2023DiverseVul: A New Vulnerable Source Code Dataset for Deep Learning Based Vulnerability Detectioncited by 102
- 2021CVEfixes: Automated Collection of Vulnerabilities and Their Fixes from Open-Source Softwarecited by 91
- 2021Studying the Usage of Text-To-Text Transfer Transformer to Support Code-Related Taskscited by 70
- 2020Multi-task Learning based Pre-trained Language Model for Code Completioncited by 58
- 2021Vulnerability Detection with Fine-grained Interpretationscited by 56
- 2020Deep Learning for Source Code Modeling and Generation: Models, Applications and Challengescited by 55
- 2018FIRST: A Framework for Optimizing Information Quality in Mobile Crowdsensing Systemscited by 50
- 2022LineVD: Statement-level Vulnerability Detection using Graph Neural Networkscited by 35
- 2021ReGVD: Revisiting Graph Neural Networks for Vulnerability Detectioncited by 32
- 2019A Self-Attentional Neural Architecture for Code Completion with Multi-Task Learningcited by 18
- 2021A Survey on Data-driven Software Vulnerability Assessment and Prioritizationcited by 18
- 2021Automated Software Vulnerability Assessment with Concept Driftcited by 15
- 2018500+ Times Faster Than Deep Learning (A Case Study Exploring Faster Methods for Text Mining StackOverflow)cited by 13
- 2020A Large-scale Study of Security Vulnerability Support on Developer Q&A Websitescited by 12
- 2017Automatic feature learning for vulnerability predictioncited by 10
- 2020PUMiner: Mining Security Posts from Developer Question and Answer Websites with PU Learningcited by 10
- 2024Are Latent Vulnerabilities Hidden Gems for Software Vulnerability Prediction? An Empirical Studycited by 9
- 2024Software Vulnerability Prediction in Low-Resource Languages: An Empirical Study of CodeBERT and ChatGPTcited by 9
- 2021Automated Security Assessment for the Internet of Thingscited by 6
- 2024Systematic Literature Review on Application of Learning-based Approaches in Continuous Integrationcited by 6
- 2024Mitigating Data Imbalance for Software Vulnerability Assessment: Does Data Augmentation Help?cited by 6
Built on by
Citing papers per year: 2024: 1; 2025: 4; 2026: 1.
6 papers.
- 2025From CVE Entries to Verifiable Exploits: An Automated Multi-Agent Framework for Reproducing CVEscited by 18
- 2025LLMSecConfig: An LLM-Based Approach for Fixing Software Container Misconfigurationscited by 9
- 2024Automatic Data Labeling for Software Vulnerability Prediction Models: How Far Are We?cited by 6
- 2025Securing the AI Supply Chain: What Can We Learn From Developer-Reported Security Issues and Solutions of AI Projects?cited by 1
- 2025Software Vulnerability Management in the Era of Artificial Intelligence: An Industry Perspectivecited by 0
- 2026AutoEG: Exploiting Known Third-Party Vulnerabilities in Black-Box Web Applicationscited by 0
- 2026AutoEG: Exploiting Known Third-Party Vulnerabilities in Black-Box Web Applications1 Apr 2026
- 2025Securing the AI Supply Chain: What Can We Learn From Developer-Reported Security Issues and Solutions of AI Projects?29 Dec 2025
- 2025Software Vulnerability Management in the Era of Artificial Intelligence: An Industry Perspective20 Dec 2025
- 2025From CVE Entries to Verifiable Exploits: An Automated Multi-Agent Framework for Reproducing CVEs1 Sep 2025
- 2025LLMSecConfig: An LLM-Based Approach for Fixing Software Container Misconfigurations4 Feb 2025
- 2024Automatic Data Labeling for Software Vulnerability Prediction Models: How Far Are We?25 Jul 2024