an enhanced adaptive pso based neural network (apso … · the product, software dependability is...
TRANSCRIPT
ELK ASIA PACIFIC JOURNAL OF COMPUTER SCIENCE AND INFORMATION SYSTEM
ISSN 2349-9392 (Online); DOI: 10.16962/EAPJMRM/ISSN 2454-3047/2015; Volume 5 Issue 2 (2019)
9
AN ENHANCED ADAPTIVE PSO BASED NEURAL NETWORK (APSO-NN) FOR SOFTWARE
RELIABILITY PREDICTION
J Ramesh Reddy
ABSTRACT
In recent years, the advancement in the software field has been enormous and hence software with better
reliability is the need for the day. Demand on high reliable software requirement has seen the emergence
of number of techniques for predicting the software reliability. Quality of a software can be determined by
predicting how reliable the software will be for its customers. Software reliability prediction techniques have
been implemented in recent times based on testcase optimization. The main objective of our proposed method
is to develop an enhanced prediction technique wherein we employ adaptive functionality enabled PSO which
can be used for optimizing the error functionality of neural network classifier. This optimal selection of error
functionality with respect to the test cases can enhance the prediction results. Based on the training and testing
data we shall predict the performance software where in accuracy, execution time and fitness functionality are
measured. The proposed APSO-NN is then compared with existing algorithms to show the effectiveness of our
method. From the results estimated, we achieved prediction accuracy of 95% in comparison with existing
approaches which has maximum accuracy of 87.5%.
Keywords: Software reliability, prediction, fitness function, adaptive PSO, Neural network
Introduction
The present-day society is exceptionally
engaged in software roles. The
organizations developing software along
with the software engineers take up the
responsibility of maintaining the reliability,
quality and satisfaction of the customers
with the products of software. Among the
quality control approaches, software testing
is mostly considered to be a significant one
[1]. The objective of software engineering
is the development of tools and methods
required in developing applications that are
increasingly steady and viable. So as to
evaluate and enhance the application
quality during the process of development,
the managers and developers utilize various
measurements [2]. Due to various technical
motives like source code access, enhanced
quality of the product, lesser cost of
development, shorter cycles of
development increasing number of
developers and organizations are
developing their products based open
source segments [3].
To evaluate the failure conduct of the
software framework, its reliability is a
significant parameter to assist engineers by
arranging sufficient test exercises. By
encouraging the earlier estimation of the
dependability, engineers are able to
reallocate the resources of testing
dynamically and decrease the cost for bug
fixing once the software is released [4]. As
the applications of the computer pervade
our day to day life, reliability turns into a
significant attribute for the computer
frameworks. The reliability of the software
is hence one of the most significant
highlights for a crucial software
framework. The probability of operating
the software free of failures for a
ELK ASIA PACIFIC JOURNAL OF COMPUTER SCIENCE AND INFORMATION SYSTEM
ISSN 2349-9392 (Online); DOI: 10.16962/EAPJMRM/ISSN 2454-3047/2015; Volume 5 Issue 2 (2019)
10
predetermined time frame under a
predefined domain is defined as software
reliability by ANSI. Practically speaking, it
is extremely challenging to measure the
quality and reliability of the software by the
project managers [5].
So as to compute and foresee the quality of
the product, software dependability is
determined to be an important trait [6].
Reliability can be characterized as a
likelihood of zero-failure activity of
specific software at a particular moment of
time in a particular condition [7]. So as to
guarantee the total unwavering software
reliability, it is critical accurate modelling
of the product dependability and to foresee
the plausible patterns. Certain, but
significant measurements, for example,
timeframe, MTBF, fault number and
MTTFs through SRGMS would be useful
for such conditions [8].
The neural network incorporates an
essential lead over diagnostic models since
they require just a history of failure as input,
no hypotheses. Utilizing that input the
model of the neural network consequently
builds up its own internal failure model and
estimates future failures. Additionally,
Cuckoo search helps in assessing the values
of the weight and that be used in a neural
system for the prediction of software
reliability.
The effort on the prediction of software
development with high accuracy is yet to a
great extent an unsolved issue. Hence, there
is a progressing level of activities in this
field. An enormous number of various
forecast models have been proposed in the
course of recent years. Till now, the
absence of converging studies on models of
software prediction is ineffectively
comprehended, and it has been a riddle to
the community exploring the models of
software prediction for a long time.
Unmistakably, we have to combine the
information on forecast models and
research processes; we have to comprehend
why we have acquired such contradictory
conclusions on this issue [9]. Having the
option to foresee the fault number dwells in
the software helping considerably in
determining/calculating the release day of
the software and oversee the resources of
artificial neural networks (ANN) with the
prediction of software reliability attracted
more interest in the research [10]. In view
of each of these contemplations, we have
proposed a modified ANN classifier based
on the cuckoo search for predicting the
software reliability since it, to a great
extent, improves the accuracy of
classification.
Related work:
Various researches have been proposed by
researchers for the prediction of Software
reliability. Below mentioned are some
studies applied for assessing the state-of-art
work on the reliability prediction models.
Prediction of software reliability was
significant for reducing the expenses and
enhancing the viability of the process of
developing the software. As a significant
technique, relative information during the
lifecycle of the program was utilized to
examine and foresee software reliability.
But, foreseeing the changeability of
reliability with time was exceptionally
troublesome. Support vector regressions
(SVR) have been broadly applied for
solving non-linear prediction issues in
numerous fields, for example, predicting
software reliability and have got good
performance in different situations, but was
still challenging to choose its parameters.
ELK ASIA PACIFIC JOURNAL OF COMPUTER SCIENCE AND INFORMATION SYSTEM
ISSN 2349-9392 (Online); DOI: 10.16962/EAPJMRM/ISSN 2454-3047/2015; Volume 5 Issue 2 (2019)
11
Optimization algorithms like genetic
algorithms (GA), are generally utilized for
discovering better parameters of SVR, but,
existing strategies for choosing parameters
required typically have a few drawbacks.
Jin [11] introduced a method to resolve the
shortcomings of GA, for example, the local
minima and the convergence issues,
simulated annealing (SA) and GA are
combined to form an optimization
algorithm, referred to as GA-SA, it is then
applied to SVR for prediction of software
reliability. The developed GA-SA-SVR
model was then contrasted with other
models of software reliability through real
information of software failures. The
experimental outcomes demonstrated that
the proposed GA-SA-SVR model could
acquire better forecast results over different
models and had a relatively accurate
capability of prediction.
Albeit numerous algorithms and methods
have been created for evaluating the
reliability of component-based software
systems (CBSSs), considerably more
research was required. Precise estimation of
the CBSS reliability was troublesome in
light of the fact that it relies upon two
elements: reliability of component and glue
code. The strategies of soft computing
could help in solving the issues wherein the
solutions are either unpredictable or
uncertain. Various soft computing
techniques for assessing CBSS reliability
have been developed. These procedures
gain knowledge from past data along with
capturing the existing data patterns. The
two fundamental components of soft
computing are fuzzy logic and neural
networks. Tyagi and Sharma [12]
developed a model for evaluating the
reliability of CBSS, known as a versatile
neuro-fuzzy inference system (ANFIS),
that depended on these two fundamental
components of soft computing, and
compared the performance to that of a plain
FIS (fuzzy inference system) for various
sets of data.
Singh et al. [13] have proposed an approach
to address transition probability of utilizing
the markov model between two stages.
Predicted reliability has been estimated and
compared with computed reliability to
show the model effectiveness. Cong Jina
and Shu-Wei Jin [14] proposed an approach
to predict software reliability using IEDA
SVR model which employees optimization
of SVR model. Proposed approach was the
compared with existing algorithms to show
the enhancement made by proposed
techniques.
Park and Baik [15] have proposed a
multiple reliability model selection
approach were it operates dynamically to
predict the reliability. Pattern of multi-
criteria derived from multi reliability
models were utilized with reduced error
pruning decision trees. Roy [16] have
proposed a multi-layer feedforward
artificial neural network (ANN) software
reliability estimation and prediction using
logistic growth curve model. Variants of
activation function are derived by the
authors for improving the accuracy finally
comparing woth different training
algorithms to show their class outperforms
the existing techniques.
Based on the review conducted, it is
inferred that there is a needs for developing
a prediction model that can with stand
automatic testcase selection and there by
utilizing the selected testcase for the
reliability prediction. Execution time and
fitness values are very complex in most of
the recent researches reviewed and hence
ELK ASIA PACIFIC JOURNAL OF COMPUTER SCIENCE AND INFORMATION SYSTEM
ISSN 2349-9392 (Online); DOI: 10.16962/EAPJMRM/ISSN 2454-3047/2015; Volume 5 Issue 2 (2019)
12
solutions for surpassing these defects are
the need for the day which motivated us to
developed the proposed research utilizing
adaptive nature of PSO and neural network
Classifier.
Proposed reliability prediction technique
for software testing:
The probability of developing a fault free
software that can withstand its functionality
over a longer time period is termed as
software reliability. As the need for
software has increased over time, the
requirement for reliability prediction has
increased rapidly. Predicting software
reliability in turn provides measures to
improve the software lifecycle. Early
reliability prediction of any software can in
turn assist in formulating strategies to build
the software with consideration to cost
overrun, reliability improvement, software
failures. For prediction of software
reliability, there has been a lot of research
carried out by many with the aim of
improving the quality and lifetime of a
software. Many approaches follow
automatic test case generation and
prioritization which in turn aids in
executing the quality of the software. Here,
we have employed an enhancement in
software test case selection with integration
to artificial intelligence. The process we
employed here is to make an extensive
selection of test cases through optimal
classifier that can improve the prediction
accuracy and software quality.
3.1 Steps involved in our proposed
method:
For reliability prediction, different software
parameters will be considered inorder to
train and predict the reliability in ML
approach. The figure 1 given below shows
the work flow which is being carried out in
our proposed research. As per the flow
diagram mentioned, initially we select an
input software for which we have to predict
the software reliability. The same is
calculated based on the components and
testcases being generated. The optimal
selection of testcases further provides better
reliability prediction. We have proposed a
novel approach where enhancement in
classifier algorithm is made by integrating
adaptive particle swarm optimization with
neural network. Here the integration is done
inorder to enhance the calculation of the
error values used for training and testing the
classifier with respect to the input
parameters. By implementing this concept
of error calculation, the predictive accuracy
can been highly improved. Since the work
deals with testcase selection, the generated
initial testcases will be subjected to this
transformation while calculating error
factor and hence we can obtain a better
prediction accuracy. Each steps in the
proposed methodology are explained in
detail below,
3.1.1 Test case generation
Testcases are usually estimated or
generated inorder to test the feasible
combinations of any software applications.
Testcase generation can assist the software
developers in finding out or exploring the
failures/defects in the software at the earlier
instances. The testcases are generated based
on the specific software functionality.
Triangle program is employed here for
which various test cased are estimated and
calculated the priority. The generated
testcases will be now trained using the
proposed enhanced classifier which can
further prediction the reliability when a test
data is inserted on the same. For instance, If
ELK ASIA PACIFIC JOURNAL OF COMPUTER SCIENCE AND INFORMATION SYSTEM
ISSN 2349-9392 (Online); DOI: 10.16962/EAPJMRM/ISSN 2454-3047/2015; Volume 5 Issue 2 (2019)
13
there are N testcases say NTTT ,....,, 21 ,
each of this N test cases will be trained and
tested in the proposed predictor hence to
obtain enhanced accuracy.
3.1.2 Reliability Prediction using Adaptive
functionality integrated PSO –NN
classifier:
As described in the previous sessions, the
major contribution of our proposed study is
implementation of enhanced prediction
algorithm that involves the integration of
optimization algorithm and the classifier
together forming a hybrid classification
technique. The input testcases are applied to
the enhanced classifier which is an adaptive
form of neural network. We have employed
Feed Forward Back Propagation Neural
Network for classification. As general NN,
there are three layers like input, hidden and
output layer where the weight
calculation/error value calculation will be
carried out between the stages of Input and
hidden and the same will be integrated with
hidden to output layer. As shown in the
below figure, the input test cases are fed to
the neural network in the input layer say
NTTT ,....,, 21 . The input testcases are then
fed to the hidden layer where the training of
the input features are carried out. Here the
inputs along with feed forward error
functionality are integrated and the same is
estimated as the trained data. In normal
network functionality, the process is carried
out in random manner. Here we have
employed and enhanced approach were the
error functionality will be selected using
optimal criteria. We employ adaptive
particle swarm optimization here.
=
The complete functionality of neural
network is enhanced with this integration of
Adaptive PSO based training phenomena.
The objective function of the adaptive PSO
is integrated here with the error learning to
employ enhancement to the prediction
results. The complete working strategy is
shown below,
Steps involved in APSO-NN Prediction
algorithm:
1) Initiate the weights for every neuron
undertaken in the proposed Neural network
model. While initiation of weights, input
layers are excluded.
2) Feed the neural network with input
features parameters of testcases
NTTT ,....,, 21 , hidden functionality as
1HN , 2HN , …., NHN and output as
NOOO ,....,, 21
3) Activation function for the output layer
is then estimated. The expression for
activation function is calculated as below,
eAt fn
1
1)(
4) Once the activation function is defined,
the next stage is the error functionality
learning wherein we have modified the
approach by integrating objective function
of APSO. The process is given as below,
Initiate the population size sP which
begins from NTTT ,....,, 21
Derive the fitness function for the
adaptive pso with consideration to the input
values and is termed as ,
WrateAp IELFit
where,
ELK ASIA PACIFIC JOURNAL OF COMPUTER SCIENCE AND INFORMATION SYSTEM
ISSN 2349-9392 (Online); DOI: 10.16962/EAPJMRM/ISSN 2454-3047/2015; Volume 5 Issue 2 (2019)
14
rateEL - learning rate of ANN
WI - Inertial weight of APSO
5) Once the fitness function is derived, then
pbest and gbest are initialized. Velocity id
the n computed along with the position
function.
6) Once the values are calculated,
depending on the fitness criteria, the
updation will be carried out.
7) Finally, the optimized results is obtained
at the output layer of neural network with
better prediction accuracy.
Results and discussion:
Software reliability prediction we proposed
here is based on hybridization concept
where we integrate adaptive pso
optimization technique with neural network
forming an enhanced classifier.
Implementation is carried out using JAVA
using netbeans IDE. Basis of the proposed
scheme, we have designed an enhanced
prediction technique where the optimal
selection of error factor is calculated in the
neural network that has aided in enhanced
results prediction. Here we measure our
proposed algorithm in terms of
classification accuracy, execution time and
the fitness functionality obtained by
incorporating the algorithms.
The table 1 given below shows the fitness
value of our proposed method with APSO
method using different iterations. For the
same iteration, the fitness value is estimated
with existing GA as well and the values are
tabulated. The fig 3 given below shows the
comparison of the fitness value. The graph
shows that our proposed method has
delivered better fitness value which aids in
improving the reliability of the software.
The fig 3 given below shows the
comparison of the fitness value with our
proposed method and compared with the
existing GA algorithm. As inferred from the
graph, the proposed approach of APSO has
outperformed GA in terms of fitness values.
For iteration 5, the proposed method has a
better fitness value of 15.2 when compared
with that of existing GA algorithm which is
around 10.35. As the iteration increases the
fitness value reduces and for iteration 20 the
proposed approach has fitness of 10 when
compared with a low fitness of 7.9 obtained
using GA.
For proving the effectiveness of the
proposed approach, we estimated the
execution time under different iterations
using the algorithm we proposed and
compared the same with existing
algorithms. The findings are tabulated as
below,
Based on the observed values above, the
graphical representation for the proposed
and existing techniques are given in figure
4 below. As inferred from the below, graph,
the proposed method of APSO-NN has
better execution time which is 88.7 ms for
25 iterations when compared with the
existing algorithm like SVM and ANN
which has 137.7 ms and 215.7 ms
respectively.
The performance of the proposed method is
compared using the classification accuracy
with that of some existing methods [17].
The table 3 given below shows the accuracy
values for proposed and existing method.
Based on the evaluated results tabulated
above, comparative graph is shown in fig 5.
From the comparative graph it is inferred
that the proposed technique with APSO and
ANN has outperformed the existing
prediction techniques. The classification
ELK ASIA PACIFIC JOURNAL OF COMPUTER SCIENCE AND INFORMATION SYSTEM
ISSN 2349-9392 (Online); DOI: 10.16962/EAPJMRM/ISSN 2454-3047/2015; Volume 5 Issue 2 (2019)
15
accuracy obtained using our proposed
algorithm is 96.5 % which is highly an
enhanced result when comparing with
existing algorithms like SVM and ANN
which has classification accuracy of 74.6%
and 80.7% respectively.
Conclusion and future scope:
In this research work, we carried out an
advanced approach for software reliability
prediction by utilizing Adaptive PSO
integrated with neural network. Major
motivation for this research is to overcome
the issues concerned with prediction
accuracy and selection of respective
testcases. As a results of our review and
research, we developed a neural classifier
which has the adaptive functionality of PSO
which makes it more effective in terms of
selecting the testcases and further
processing it in predicting the accurate
reliability. From the results, it is evident
that our proposed prediction model utilizing
APSO and NN has outperformed existing
model in terms of prediction accuracy
which reads 96.5 % when comparing with
existing algorithms like SVM and ANN
which has classification accuracy of 74.6%
and 80.7% respectively. In future we have
planned to utilizing more hybridized
algorithms and evaluate their performance
in a manner that the prediction rate can be
further improved guiding the software
developers to design quality rich
software’s.
Reference:
[1]. Carina Andersson, "A replicated
empirical study of a selection method for
software reliability growth models,"
Journal of Empirical Software Engineering,
Vol. 12, No. 2, pp. 161–182, Apr 2007.
[2]. Jehad Al Dallal ,"Mathematical
Validation of Object-Oriented Class
Cohesion Metrics", International Journal
Of Computers , Vol. 4,No.2, 2010.
[3]. Heikki Orsila, Jaco Geldenhuys, Anna
Ruokonen and Imed Hammouda," Update
Propagation Practices in Highly Reusable
Open Source Components",In.proc.of 20th
World Computer Congress on Open Source
Software,Milano, Italy,Vol. 275 ,pp.159-
170, Sep 7-10, 2008.
[4]. Chao-Jung Hsu and Chin-Yu Huang,
"An Adaptive Reliability Analysis Using
Path Testing for Complex Component-
Based Software Systems", IEEE
Transactions On Reliability, Vol. 60, No.
1,2011.
[5]. Chin-Yu Huang and Michael R. Lyu,
"Optimal Release Time for Software
Systems Considering Cost, Testing-Effort,
and Test Efficiency", IEEE Transactions
On Reliability, Vol.54, No.4, 2005.
[6]. Khurshid Ahmad Mir, "A Software
Reliability Growth Model," Journal of
Modern Mathematics and Statistics, Vol. 5,
No. 1, pp. 13-16, 2011.
[7]. Chin-Yu Huang, Sy-Yen Kuo and
Michael R. Lyu, "An Assessment of
Testing-Effort Dependent Software
Reliability Growth Models," IEEE
Transactions on Reliability, Vol. 56, No. 2,
pp. 198-211, Jun 2007.
[8]. S. M. K. Quadri, N. Ahmad and Sheikh
Umar Farooq, "Software Reliability
Growth modeling with Generalized
Exponential testing –effort and optimal
Software Release policy," Global Journal of
Computer Science and Technology, Vol.
11, No. 2, pp. 27-42, Feb 2011.
[9]. Ingunn Myrtveit, Erik Stensrud and
Martin Shepperd, "Reliability and Validity
in Comparative Studies of Software
Prediction Models", IEEE Transactions On
Software Engineering, Vol.31, No.5, 2005.
[10]. Rita G. Al gargoor and Nada N.
Saleem, "Software Reliability Prediction
ELK ASIA PACIFIC JOURNAL OF COMPUTER SCIENCE AND INFORMATION SYSTEM
ISSN 2349-9392 (Online); DOI: 10.16962/EAPJMRM/ISSN 2454-3047/2015; Volume 5 Issue 2 (2019)
16
Using Artificial Techniques",IJCSI
International Journal of Computer Science
Issues, Vol. 10, Issue 4, No 2,2013.
[11]. C. Jin, "Software reliability
prediction based on support vector
regression using a hybrid genetic algorithm
and simulated annealing algorithm", IET
Software, Vol.5, No.4, pp. 398–405, 2011.
[12]. Kirti Tyagi and Arun Sharma, "An
adaptive neuro fuzzy model for estimating
the reliability of component-based software
systems", Applied Computing and
Informatics, Vol.10, No.2, pp.38–51, 2014.
[13]. Lalit K. Singh, Gopika Vinod and
Anil K. Tripathi, "Approach for parameter
estimation in Markov model of software
reliability for early prediction: a case
study", IET Software, Vol. 9, No.3, pp.65–
75,2015.
[14]. Cong Jina and Shu-Wei Jin,
"Software reliability prediction model
based on support vector regression with
improved estimation of distribution
algorithms”, Applied Soft Computing,
Vol.15, pp.113–120, 2014.
[15]. Jinhee Park and Jongmoon Baik,
"Improving software reliability prediction
through multi-criteria based dynamic
model selection and combination", Journal
of Systems and Software, Vol.101, pp.236-
244, 2015.
[16]. Pratik Roy, G.S. Mahapatra and
K.N. Dey, "Neuro-genetic approach on
logistic model based software reliability
prediction", Expert Systems with
Applications, Vol.42, No.10, 2015.
List of Figures and Tables
Any open source
input software
for reliability
check
Generating test
cases
Adaptive
particle Swarm
Optimization
Neural
network
classifier
APSO-NN Classifier for prediction
Reliability prediction
Condition:
Sum>threshold
ELK ASIA PACIFIC JOURNAL OF COMPUTER SCIENCE AND INFORMATION SYSTEM
ISSN 2349-9392 (Online); DOI: 10.16962/EAPJMRM/ISSN 2454-3047/2015; Volume 5 Issue 2 (2019)
17
Fig 1: Proposed process flow
Figure 2: Structure of NN classifier for the proposed work.
Iterations
Fitness value
Using APSO
Using GA
5 15. 2 10.35
10 14.2 9.89
15 12.18 9.21
20 10.34 8.13
25 10 7.9
Table.1 Fitness value for different iteration.
ELK ASIA PACIFIC JOURNAL OF COMPUTER SCIENCE AND INFORMATION SYSTEM
ISSN 2349-9392 (Online); DOI: 10.16962/EAPJMRM/ISSN 2454-3047/2015; Volume 5 Issue 2 (2019)
18
Fig 3: Graphical representation for fitness value obtained using APSO and GA optimization
algorithms.
Iterations Execution time (ms)
Using APSO-NN ANN SVM
5 39.7 89 120
10 46.3 94.5 132
15 57.7 105.9 155.8
20 75.5 123 170
25 88.7 137.7 215.7
Table.2 Execution time for different iteration
0
2
4
6
8
10
12
14
16
18
5 10 15 20
Fitness value
Using APSO
Using GA
ELK ASIA PACIFIC JOURNAL OF COMPUTER SCIENCE AND INFORMATION SYSTEM
ISSN 2349-9392 (Online); DOI: 10.16962/EAPJMRM/ISSN 2454-3047/2015; Volume 5 Issue 2 (2019)
19
Fig 4: Graphical representation for Execution time at different iteration using proposed and
exiting techniques
Methods
Classification Accuracy (%)
SVM
74.6
ANN
80.7
APSO-NN
96.5
Table 3: Comparison of prediction accuracy measures for our proposed and existing method
0
20
40
60
80
100
120
140
160
180
5 10 15 20
Execution time under different iterations
APSO-NNANNSVM
ELK ASIA PACIFIC JOURNAL OF COMPUTER SCIENCE AND INFORMATION SYSTEM
ISSN 2349-9392 (Online); DOI: 10.16962/EAPJMRM/ISSN 2454-3047/2015; Volume 5 Issue 2 (2019)
20
Fig 5: Graphical representation of prediction accuracy measures for our proposed and
existing method
0
20
40
60
80
100
120
SVM ANN APSO-NN
Classification Accuracy (%)
Classification Accuracy (%)