The Impact of Software Fault Prediction in Real-World
Application: An Automated Approach for Software
Engineering
Md. Razu Ahmed
Department of Software Engineering
Daffodil International University
Dhaka-1207, Bangladesh
Cell: +8801787844301
razu35-1072@diu.edu.bd
Md. Fahad Bin Zamal
Department of Software Engineering
Daffodil International University
Dhaka-1207, Bangladesh
fahad.swe@diu.edu.bd
Md. Asraf Ali
Department of Software Engineering
Daffodil International University
Dhaka-1207, Bangladesh
asraf.swe@diu.edu.bd
F.M. Javed Mehedi Shamrat
Department of Software Engineering
Daffodil International University
Dhaka-1207, Bangladesh
javedmehedicom@gmail.com
Nasim Ahmed
School of Natural and Computational
Sciences, Massey University
Albany 0632, Auckland, New Zealand
nasim751@yahoo.com
ABSTRACT
Software fault prediction and proneness has long been considered
as a critical issue for the tech industry and software professionals.
In the traditional techniques, it requires previous experience of
faults or a faulty module while detecting the software faults inside
an application. An automated software fault recovery models
enable the software to significantly predict and recover software
faults using machine learning techniques. Such ability of the
feature makes the software to run more effectively and reduce the
faults, time and cost. In this paper, we proposed a software defect
predictive development models using machine learning techniques
that can enable the software to continue its projected task.
Moreover, we used different prominent evaluation benchmark to
evaluate the model’s performance such as ten-fold cross-
validation techniques, precision, recall, specificity, f 1 measure,
and accuracy. This study reports a significant classification
performance of 98-100% using SVM on three defect datasets in
terms of f1 measure. However, software practitioners and
researchers can attain independent understanding from this study
while selecting automated task for their intended application.
CCS Concepts
Computing methodologies➝ Machine learning algorithms
Keywords
Software engineering; Software fault; Machine learning; Defect
prediction.
1. INTRODUCTION
The vast area of software development and different applications
makes it challenging for software developers and also customers
to observe, maintains and manage software applications.
Moreover, the fourth industrial revolution employs artificial
intelligence by software industry is one of the promising sectors
of modern times that observes a constant transformation in its
practices because of the automating large quantities of software
technologies [1]. The size and complexity of current software is
increasing day by day. As a result, software engineers are
struggling continuously with faults from the beginning of the
development phase.
The classification of the software faults is important in real-time,
otherwise, the effort and cost of finding defects hiding in an
application are also rising fast. This inspires the development of
automated fault prediction models for software fault prediction
that can forecast the software defects. If software defects are
identified before the release of software that can help the
developer to allocate and fix those defect modules easily.
Software fault prediction through machine learning techniques are
being the most prominent use case among the researchers and the
software community [2]. State of the art machine learning
algorithms have been applied to find the defect modules from the
software applications for research and make effective solutions for
consumers [3]. In this study, we have used the six most popular of
the machine learning classifiers which are suggested in the most
recent systematic literature study [4]. All selected classification
techniques are applied over different real application datasets
related to the software fault prediction of the applications.
However, we have to consider particular features in terms of their
quality of data but that cannot be validated in terms of correctness.
Therefore, the state of the art [5] machine learning approaches
have been applied to the fault datasets to enhance the prediction
by reducing unnecessary features through several feature selection
techniques and imbalance to balancing data methods.
Many of the studies examined fault recovery methods into
software with their focus on combining the automated recovery
model inside the application [6][7][8]. The goal of this study is
examined with six classifiers' performance and recommends an
automated approach to solve software faults inside a software. We
used three data sets (i.e. JM1, CM1, PC1) from PROMISE
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that
copies bear this notice and the full citation on the first page. Copyrights
for components of this work owned by others than ACM must be
honored. Abstracting with credit is permitted. To copy otherwise, or
republish, to post on servers or to redistribute to lists, requires prior
specific permission and/or a fee. Request permissions from
Permissions@acm.org.
ICCDE '20, January 4–6, 2020, Sanya, China
© 2020 Association for Computing Machinery.
ACM ISBN 978-1-4503-7673-0/20/01…$15.00
https://doi.org/10.1145/3379247.3379278
247
International Conference on Computing and Data Engineering (ICCDE2020)
Sanya, China