You are on page 1of 2

International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)

Web Site: Email:,

Volume 3, Issue 3, May-June 2014 ISSN 2278-6856

Volume 3, Issue 3 May June 2014 Page 213

Abstract: This review paper includes three major the
development process or techniques. This paper recognizes the
software reliability estimation as the area of the development
process which needs more attention. to specify, predict,
estimate and assess the software reliability of software-based
systems. In this paper we have seen several examples of
software failures. These examples indicate that the
improvement is certainly needed somewhere in the
development process or techniques. This thesis recognizes the
software reliability estimation as the area of the development
process which needs more attention. this paper is: more
accurate prediction of reliability of a software while under
test. This goal has been achieved by experimentation with a
swarm intelligence technique: Particle swarm optimization.

Keywords: Introduction, Software reliability growth
model , PSO , Conclusion , Refrences.

Reliability has been prominently impacting human life
ever since we learned to form the groups/societies among
themselves. Societies reflect the interdependence; and
reliability is at the core of interdependence. Today,
softwares have become the indistinguishable parts of our
lives. Measuring or predicting reliability has always been
an intuitive task. In case of softwares, researches have
been done to make this task more scientific rather than
intuitive. The present thesis adds a bit in this series of
Software reliability has continuously been one of the
prime concerns to the researchers for a very long period
of time. Optimization techniques inspired by SI have
become increasingly popular during the last decade. SI
can be applied to several aspects of computer science.
Black box reliability analysis: Estimation of the
software reliability based on failure observations from
testing or operation. These approaches are called black
box approaches because internal details of the software
are not considered.
The classification scheme of Musa et al. groups software
reliability models in terms of five attributes:
1. Time domain: Is the time base for the model calendar
time or execution time?
2. Category: Is the number of failures that can be
experienced in infinite time finite or infinite?
3. Type: What is the distribution of the number of
failures experienced by time t?
4. Class (for finite category only): What is the functional
form of the failure intensity in terms of time?
5. Family (for infinite category only): What is the
functional form of the failure intensity in terms of the
expected number of failures experienced?
The literature distinguishes classification and clustering
methods depending on the information used to train the
Unsupervised: All clustering methods use unsupervised
learning. Apart from the data collection and maybe
depending on the algorithm the number K of clusters to
be formed no information is available.
Supervised: Supervised learning is required for
classification. A data collection with additional
knowledge about the data items, e.g., class labels is
available for training.
Semi-supervised: A small amount of knowledge about
the data collection is available, e.g., labels for some data
The most used approach for reliability assessment using
classification is to take a set of data items somehow
describing a program or a part of hardware and to label
these data items with reliability information, e.g., number
of residual faults or failure rates.
Two types of prediction are distinguished: next-step and
longterm prediction. The first predicts the output for the
next point in a time series and the second predicts fault
counts for some point in the future
Neural networks could not only be used to predict
failure/fault rates using time series data, but can also be
used as a collection of classical software metrics such as
number of lines of code, Halsteads effort metric, or
McCabes Cyclomatic complexity to determine how many
faults are contained in a program.
In comparison to fault trees BBNs allow easier use of
multistate variables, can model the undertainty in noisy
gates and can capture sequentially dependent failures.
Researchers observed that software reliability growth
prediction sometimes predicts that a software is reliable,
i.e. has few enough residual faults, for software which has
no good quality at all.
Roger C. Cheung of Bell telephone laboratories was one
of the pioneer researchers in the field of Software
reliability. He proposed a user oriented reliability model
in 1978, in this paper [40]. The reliability of the system
depends on the "component" reliabilities weighted by the
profile, which summarizes the dynamic characteristics of
a typical execution of the program in a particular
A Review on Particle Swarm Optimization For
Software Reliability

Neha Gaba
Tarun Ahuja

Student (MTech), Department of computer science and engineering
Shri Baba Mast Nath Engineering College, Rohtak

Assistant Professer (MTech), Department of computer science and engineering
Shri Baba Mast Nath Engineering College, Rohtak
International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)
Web Site: Email:,
Volume 3, Issue 3, May-June 2014 ISSN 2278-6856

Volume 3, Issue 3 May June 2014 Page 214

A reliability model may be formulated at this level by
measuring the reliability of the different features and
using the user profile as a weighing function to obtain
system service reliability.
The paper [1] summarized existing SRGM's described by
NHPP, and compared them using Maximum likelihood
Paper [2] by William Everett et al., reviews all the
literature in software reliability right from 1975 till 1998.
This paper highlighted notable safety and reliability
problems of that time.
In paper [3] an improvement over Genetic Programming
approach is introduced to reliability modeling and it is
called (+)GP.

Software Reliability Growth Models
Software Reliability Growth Models (SRGMs) are the
mathematical models which generally reflect the
properties of the process of fault detection during testing
or failure reports during the operation of the software.
These models are generally based on stochastic processes
and involve a lot of statistical details. Reliability is
usually defined as the probability that a system will
operate without failure for a specified time period under
specified operating conditions. Reliability is concerned
with the time between failures or its reciprocal, the failure
rate. Defects can also be detected during design reviews
or code inspections, but we do not consider those sorts of
activities in this report.
Software reliability growth models have been grouped
into two classes of models concave and S-shaped.

Particle Swarm Optimization
PSO is a Swarm intelligence technique. PSO is inspired
by the ability of flocks of birds, schools of fish, and herds
of animals to adapt to their environment, find rich
sources of food, and avoid predators by implementing an
information sharing approach, hence, developing an
evolutionary advantage.
Now, this algorithm is explained here, as done by Raina
Hassan et al. in [4]. The basic PSO algorithm consists of
three steps, namely; generating particles positions and
velocities, velocity update, and finally, position update.
Here, a particle refers to a point in the design space that
changes its position from one move (iteration) to another
based on velocity updates. . First, the positions, X
velocities V
, of the initial swarm of particles are
randomly generated using upper and lower bounds on the
design variables values, x
and x
, as expressed in
equations of step 3 and 5 in above algorithm.
The second step is to update the velocities of all particles
at time k +1 using the particles objective or fitness values
which are functions of the particles current positions in
the design space at time k. The fitness function value of a
particle determines which particle has the best global
value in the current swarm, P
and also determines the
best position of each particle over time, p
, i.e. in current
and all previous moves. The three values that effect the
new search direction, namely, current motion, particle
own memory, and swarm influence, are incorporated via
a summation approach
three weight factors, namely, inertia factor, w , self
confidence factor, c1 , and swarm confidence factor, c2 ,

The results have shown that PSO outperforms GA in
every project we examined. The success of the PSO
depends much upon the constraint handling mechanism.
So, PSO may give much better results if the constraint
handling mechanism is improved.
PSO is better than the GA for this parameter estimation
problem; when we apply the successfully validated
method (which is PSO in this case) to some new problem
(software under test); we will predict the parameters of
delayed s- shaped model using PSO up to a certain testing
time. the estimation process is quite unstable for the
initial phase of testing, i.e. at the initial phase of testing
the estimation results are not trustworthy, which is quite
understandable. So, first we should spend a good time for
testing and then start the estimation activity. Selection of
an optimal SRGM for use in a particular case has been an
area of interest for researchers in the field of software
reliability. Tools and techniques for software reliability
model selection found in the literature cannot be used
with high confidence as they use a limited number of
model selection criteria.

[1] Shigeru Yamada and Shunji Osaki, Software
Reliability Growth Modeling: Models and
12,1985, pp. 1431-1437
[2] William Everett et al., Applying Software
Reliability Engineering in the 1990s, in IEEE
[3] Eduardo Oliveira Costa et al., A Genetic
Programming Approach for Software Reliability

Neha Gaba received her MCA. and M.Phil.
degrees in Computer Sciences from Maharishi
Dayanand University, Rohtak in 2008 and
Chaudhary Devi Lal Univeristy, Sirsa in
2009, respectively. Presently she is persuing her M.Tech.
through Shri Baba Mastnath Engineering College,
Rohtak under the guidance of Mr. Tarun Ahuja.