Machine learning techniques for software vulnerability prediction: a comparative study

Gul Jabeen, Sabit Rahim, Wasif Afzal, Dawar Khan*, Aftab Ahmed Khan, Zahid Hussain, Tehmina Bibi

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

9 Scopus citations

Abstract

Software vulnerabilities represent a major cause of security problems. Various vulnerability discovery models (VDMs) attempt to model the rate at which the vulnerabilities are discovered in a software. Although several VDMs have been proposed, not all of them are universally applicable. Also most of them seldom give accurate predictive results for every type of vulnerability dataset. The use of machine learning (ML) techniques has generally found success in a wide range of predictive tasks. Thus, in this paper, we conducted an empirical study on applying some well-known machine learning (ML) techniques as well as statistical techniques to predict the software vulnerabilities on a variety of datasets. The following ML techniques have been evaluated: cascade-forward back propagation neural network, feed-forward back propagation neural network, adaptive-neuro fuzzy inference system, multi-layer perceptron, support vector machine, bagging, M5Rrule, M5P and reduced error pruning tree. The following statistical techniques have been evaluated: Alhazmi-Malaiya model, linear regression and logistic regression model. The applicability of the techniques is examined using two separate approaches: goodness-of-fit to see how well the model tracks the data, and prediction capability using different criteria. It is observed that ML techniques show remarkable improvement in predicting the software vulnerabilities than the statistical vulnerability prediction models.

Original languageEnglish (US)
Pages (from-to)17614-17635
Number of pages22
JournalApplied Intelligence
Volume52
Issue number15
DOIs
StatePublished - Dec 2022

Keywords

  • Machine learning
  • Prediction models
  • Software vulnerability

ASJC Scopus subject areas

  • Artificial Intelligence

Fingerprint

Dive into the research topics of 'Machine learning techniques for software vulnerability prediction: a comparative study'. Together they form a unique fingerprint.

Cite this