Determining appropriate software reliability prediction technique is a challenging task for the software development process. So, it is essential for software engineers to develop good quality software product. Though several prediction models are in use for small size data, the estimation of the reliability of software system is crucial. Inadequate data may lead sub-optimal solution. This chapter proposes a technique of increasing training dataset by generating virtual data points original data. For improving the prediction of cumulative failure time in software, multilayer perceptron (MLP)-based virtual data positions (DEVDP) exploration techniques have been proposed. The parameters of the network are optimized by evolutionary algorithm differential evolution (DE). For validation of the model in presence of virtual data point (VDP), eight failure datasets from different sources has been used. The results obtained from the simulation studies indicate that proposed DEVDP exploration technique outperformed traditional models.
TopIntroduction
The problem of software reliability forecasting is an interesting and challenging activity for software industry, researchers including stakeholders. Unreliable software may cause system failures, subsequently which causes economic loss, loss of life, customer’s dissatisfaction. So, it is indispensible for software engineers to emerge good quality software product. Software reliability generally measured as likelihood of failure free operation in particular instant under specified condition. For software failure prediction, the existing software reliability model is classified as parametric and non-parametric models. Usually, parametric models depend on some basic assumptions like development process, failure behavior, and development organization of software. Due to model inconsistency in parametric model, non-parametric are quite popular that are based on failure history of software rather than basic assumptions. The fundamental approach of non-parametric model is to predict future behavior based on past failure data. Normally, non-parametric models employs NN, SVM, fuzzy inference system (FIS), genetic algorithm (GA) for software reliability prediction (Musa, 2004; Amin et al., 2013; Rana et al., 2014). For predicting software reliability, software practitioner and researchers have applied many ANN based hybrid techniques found that these models have better prediction capability than parametric models (Lakshmanan et al., 2015). The parameters of ANN are trained using back propagation method (Jaiswal et al., 2018; Wang et al., 2018). Using back propagation algorithm many non-linear problems are solved, but it ensnared with local minima and suffers slow convergence rate.
Several other training methods such as differential evolution (DE), chemical reaction optimization (CRO), particle swarm optimization (PSO), harmonic search (HM), bat inspired algorithm (BA), bee colony optimization (BCO) have been developed over the last two decades (Kaswan et al., 2015). Malhotra and Negi (2015) designed a software reliability growth framework where the parameters are optimized by PSO. Roy et al. (2015) used a neuro-genetic model, where the parameters of ANN are globally optimized by GA. For improving the predictive capability, Behera et al. (2019) designed a single layer FLANN model with CRO and found better performance than traditional models. Kapil Juneja proposed a neuro-fuzzy frame work to identify the software faults in a project (Juneja, 2019). This generates a footpath for selecting an optimization method that needs less learning parameters without negotiating the prediction capability. DE has been used to solve many problems like data mining, stock marketing, classification, and neural network training.
Though NN models are better than traditional models, it requires enough data for proper training. For generalization of the NN model it requires sufficient data for training. Inadequate data may lead sub-optimal solution. Practically, adequate training pattern is always not available in all situations. Particularly in case of software testing the researchers may not get sufficient failure data. Also there may not be close relationship exists between the failure data because of the hidden defects in software. Recently some research has been attempted for increasing the training pattern by supporting some stochastic and evolutionary approach for prediction problem. In this chapter virtual data exploration method for enriching training data points is suggested. Besides existing data points, exploration of close data points improves the prediction accuracy remarkably. To enhance the learning capacity of ANN model on small size sample, many alternative methods appear, such as semi-supervised learning, active learning and support vector machine. Nowadays, the virtual sample generation approach is one of importance concept improve the generalization ability of NN learning on small size data. A virtual data position (VDP) is a probable value between two consecutive data points. The main focus is to enhance the predictive capability of the model by enriching the training patterns through evolutionary technique (Nayak et al. 2019). In this approach VDPs are estimated by an evolutionary method DE. Then the accumulated data is used in DE based MLP model for prediction of cumulative failures in software.
The foremost features of this chapter are outlined as:
- 1.
For enriching the data set DEVDP approach is used.
- 2.
ANN-DE model is presented for prediction of cumulative failure time where successive failure times are taken as input and cumulative failure time will be the output in the proposed framework.
- 3.
The presented method is used on multiple data and found to be a better predictive approach that provides increased prediction accuracy.