International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)
Web Site: www.ijettcs.org Email: editor@ijettcs.org, editorijettcs@gmail.com
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.
1. INTRODUCTION 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 researches. 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 algorithm: 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 items. 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 1 Tarun Ahuja 2
1 Student (MTech), Department of computer science and engineering Shri Baba Mast Nath Engineering College, Rohtak
2 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: www.ijettcs.org Email: editor@ijettcs.org, editorijettcs@gmail.com Volume 3, Issue 3, May-June 2014 ISSN 2278-6856
Volume 3, Issue 3 May June 2014 Page 214
environment. 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 approximation. 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 k i and velocities V k i , of the initial swarm of particles are randomly generated using upper and lower bounds on the design variables values, x min and x max , 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 g k and also determines the best position of each particle over time, p i , 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 , respectively.
Conclusion 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.
Refrences [1] Shigeru Yamada and Shunji Osaki, Software Reliability Growth Modeling: Models and Applications, in IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. SE-Il, NO. 12,1985, pp. 1431-1437 [2] William Everett et al., Applying Software Reliability Engineering in the 1990s, in IEEE TRANSACTIONS ON RELIABILITY, VOL. 47, NO. 3-SP 1998 SEPTEMBER [3] Eduardo Oliveira Costa et al., A Genetic Programming Approach for Software Reliability Modeling, in IEEE TRANSACTIONS ON RELIABILITY, VOL. 59, NO. 1, MARCH 2010; [4] http://en.wikipedia.org/wiki/Genetic_algorithm
AUTHOR 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.