Abstract

neural network based software reliability model to predict the cumulative number of failures based on Feed Forward architecture is proposed in this paper. Depending upon the available software failure count data, the execution time is encoded using Exponential and Logarithmic function in order to provide the encoded value as the input to the neural network. The effect of encoding and the effect of different encoding parameter on prediction accuracy have been studied. The effect of architecture of the neural network in terms of hidden nodes has also been studied. The performance of the proposed approach has been tested using eighteen software failure data sets. Numerical results show that the proposed approach is giving acceptable results across different software projects. The performance of the approach has been compared with some statistical models and statistical models with change point considering three datasets. The comparison results show that the proposed model has a good prediction capability. Software engineers can measure or forecast software reliability using software reliability models. In real software development process, cost and time are limited. The models are used to develop reliable software under given time and cost constraints. The software managers also determine the release time of the software with the help these models. In past few years, a large number of software reliability models/statistical models have been developed. Every model is based on certain assumptions. So the predictive capability of different models is different for different data sets. There exist no single models that can best suit for all cases. The statistical models are also influenced by different external parameters. To overcome these problems, non-parametric models like neural network and support vector machines have been used for last few years. The non-parametric models are not influenced by any external parameter and also not based on assumptions which are unrealistic in real situation. Neural network has become an alternative method in software reliability modeling, evaluation and prediction. In the literature, many neural network based software reliability prediction models exist and their prediction capability is proven better than some statistical models (4-6). All the neural network based software reliability models are basically experimental in nature. Anyone who wants to apply the models on real software data set, they have to first find out the architecture of the network in hit and trial method. In real cases, people lose their confidence to apply the models with high level of confidence. In this work, neural network models with Exponential and Logarithmic encoding scheme have been proposed to build non-parametric models for software reliability prediction. It has been shown in (14) that neural network models with the above two encoding scheme has better prediction for cumulative number of failures than some statistical models. But in (14), the value of the encoding parameter is determined by doing repeated experiments with hit and trial method. The purpose of this paper is to provide a guideline for the selection of encoding parameter which gives consistent results for different datasets. The proposed approach is applied using eighteen different data sets and found to provide consistent result for all datasets. The approach has been compared using three data sets with existing statistical models with change points. The rest of the paper has been organized as follows: In Section 2, some works related to software reliability prediction are introduced. Section 3 presents the proposed method to predict cumulative number of failures in software using neural network with two different encoding schemes such as Exponential and Logarithmic encoding. Section 4 shows the experimental result. Finally, Section 5 concludes the paper.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call