Research Article
ImpactofParameterTuningforOptimizingDeepNeuralNetwork
Models for Predicting Software Faults
Mansi Gupta , Kumar Rajnish , and Vandana Bhattacharjee
Department of Computer Science and Engineering, BIT Mesra, Ranchi, India
Correspondence should be addressed to Mansi Gupta; jv.mansi@gmail.com
Received 13 October 2020; Revised 21 March 2021; Accepted 2 June 2021; Published 12 June 2021
Academic Editor: Jianping Gou
Copyright©2021MansiGuptaetal.isisanopenaccessarticledistributedundertheCreativeCommonsAttributionLicense,
which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Deepneuralnetworkmodelsbuiltbytheappropriatedesigndecisionsarecrucialtoobtainthedesiredclassifierperformance.is
isespeciallydesiredwhenpredictingfaultpronenessofsoftwaremodules.Whencorrectlyidentified,thiscouldhelpinreducing
thetestingcostbydirectingtheeffortsmoretowardsthemodulesidentifiedtobefaultprone.Tobeabletobuildanefficientdeep
neuralnetworkmodel,itisimportantthattheparameterssuchasnumberofhiddenlayers,numberofnodesineachlayer,and
trainingdetailssuchaslearningrateandregularizationmethodsbeinvestigatedindetail.eobjectiveofthispaperistoshowthe
importance of hyperparameter tuning in developing efficient deep neural network models for predicting fault proneness of
software modules and to compare the results with other machine learning algorithms. It is shown that the proposed model
outperforms the other algorithms in most cases.
1.Introduction
Deep neural network (DNN) models have gained a lot of
attention due to their outstanding performance in many
tasks. e main aim of this study is to build deep neural
networkmodelsforsoftwarefaultpredictionbyfocusingon
those aspects of training which impact the classifier per-
formance the most. A comparison is made between the
performances of deep neural network and other classifica-
tion techniques such as na¨ıve Bayes, random forest, and
decision tree.
Software fault prediction is one of the major areas of
investigation in the area of software quality [1]. Fault pre-
diction being an intricate area of research, many software
researchers and practitioners have experimented on nu-
merous ways of predicting faults in software [2]. e ac-
curatepredictionoffaultsincodeplaysaveryimportantrole
as it can help in reducing test effort and costs and improve
thequalityofsoftwaretoanextent.emaincauseoffailure
of a software product is the defect in the code that occurs
during the implementation of the software [3]. In an or-
ganizationwherethebudgetislimited,thesoftwaremanager
instead of going for complete software testing prefers for
testing those modules that are fault prone using fault
predictors.
Software fault prediction methods initially used code
metrics or simply software metrics and statistical approach
for fault prediction. ereafter, the focus shifted to soft
computing and machine learning (ML) techniques which
tookoverallthepredictiontechniques[4].Insoftwarecode
metrics-based methods, internal attributes of the software
were measured for fault prediction. e commonly used
software metrics’ suites were Quality Model For Object
Oriented Design (QMOOD) metric suite [5], Chidamber
and Kemerer (CK) metric suite [6], Metrics for Object
Oriented Design (MOOD) metric suite [7], etc. From the
perspective of machine learning, fault prediction comes
under the classification task in which it discriminates faulty
and nonfaulty modules [8]. Some representative ML
methods are ensemble, support vector machine (SVM),
naive Bayes, logistic regression, decision table, etc., and a
review of such techniques applied to software fault pre-
diction is given in [9]. In this work, a deep neural network
model for software fault prediction is built and also several
aspectsofthedeepneuralnetworkdesignareexplored.e
role of number of layers, nodes in each layer, learning rate,
Hindawi
Scientific Programming
Volume 2021, Article ID 6662932, 17 pages
https://doi.org/10.1155/2021/6662932