Abstract:
Software vulnerability prediction aims to detect vulnerabilities in the
source code before the software is deployed into the operational environment.
The accurate prediction of vulnerabilities helps to allocate more testing resources to the vulnerability-prone modules. From the machine learning perspective,
this problem is a binary classification task which classifies software modules into vulnerability-prone and non-vulnerability-prone categories. Several machine
learning models have been built for addressing the software vulnerability prediction problem, but the performance of the state-of-the-art models is not yet at
an acceptable level. In this study, we aim to improve the performance of
software vulnerability prediction models by using Extreme Learning Machines
(ELM) algorithms which have not been investigated for this problem. Before
we apply ELM algorithms for selected three public datasets, we use data balancing algorithms to balance the data points which belong to two classes. We discuss our initial experimental results and provide the lessons learned. In particular, we observed that ELM algorithms have a high potential to be used for addressing the software vulnerability prediction problem.