SOFT COMPUTING APPROACH FOR PREDICTION OF SOFTWARE RELIABILITY PDF

Title SOFT COMPUTING APPROACH FOR PREDICTION OF SOFTWARE RELIABILITY
Author Kavita Sahu
Pages 10
File Size 1.3 MB
File Type PDF
Total Downloads 11
Total Views 46

Summary

ICIC Express Letters ICIC International ©2018 ISSN 1881-803 X Volume 12, Number 12, December 2018 pp. 1213–1222 SOFT COMPUTING APPROACH FOR PREDICTION OF SOFTWARE RELIABILITY Kavita Sahu* and R. K. Srivastava Department of Computer Science Dr. Shakuntala Mishra National University Lucknow, Uttar Pra...


Description

ICIC Express Letters ICIC International ©2018 ISSN 1881-803 X Volume 12, Number 12, December 2018 pp. 1213–1222

SOFT COMPUTING APPROACH FOR PREDICTION OF SOFTWARE RELIABILITY Kavita Sahu* and R. K. Srivastava Department of Computer Science Dr. Shakuntala Mishra National University Lucknow, Uttar Pradesh 226017, India ∗Corresponding

author: [email protected]; [email protected]

Received June 2018; Accepted September 2018 ABSTRACT. The paper is based on Fuzzy Logic (FL) and Neural Network (NN) techniques to predict the software reliability using the MATLAB toolbox. There are four methods used in this paper to predict reliability of the dataset retrieved from John Musa of bell laboratories. These methods are fuzzy method, neural network, fuzzy-neural network and neural-fuzzy. After the assessment of data the results we achieved were best from the fuzzy-neural method among all proposed methods. In Fuzzy-neural method the Levenberg-Marquardt algorithm is used for training the neurons. The performance of our proposed approaches has been tested using the testing data, which 15% of the data from failure data set. Keywords: Software reliability, SRGM (Software Reliability Growth Model), Fuzzy neural.

1. Introduction. With the ever-increasing role of software in our real life systems,

concerns have steadily grown over quality of software products. Therefore reliability has become a primary concern from both software developers and software user ’s point of view. Software Reliability is a subject of growing importance. Software reliability define d by ANSI is the probability of failure-free software operation for a specified period of time in a specified environment [1]. It is an important factor for quantitatively characterizing software quality and estimating the duration of software. Reliability is one of the most important non-functional requirements for software. Accurately estimating reliability for service oriented system is not possible. Software Reliability Growth Model (SRGM) aims to quantify software reliability status and behavior, help to develop reliable software and predict when reliability has grown enough to warrant product release. Typically two broad categories of software reliability growth models (SRGMs) include parametric models and nonparametric models [23]. Most parametric models depend on priori assumptions about the probability of individual failures occurring, development environments and the nature of software failures. They include non-homogeneous Poisson process model, Goel-Okumoto model and SHOOMAN model etc. Nonparametric models predict reliability metrics only based on failure history without the assumptions of parametric models. Software reliability has remained a thrust area of research over the past forty years, but still there are flaws in the modeling of software reliability. In the last two decades there has been lot of work done in the area of soft computing using the fuzzy logic, neural network, genetic algorithms and their hybrid approaches [15-16]. Both the statistical and soft computing techniques gives notewo rthy results in predicting reliability but it varies as the type of data changes[20]. There are various prediction techniques for software reliability, but before using these techniques, one must thoroughly go through different techniques according to their research question [17-19]. 1213

1214

K. SAHU AND R. K. SRIVASTAVA

DOI: 10.24507 /icicel. 12.12.1213

Neural networks can offer noble approaches to software reliability prediction and modeling. Fuzzy logic based reliability estimation models are more appropriate when vague and imprecise information is to be accounted for [22]. Such models usually rely on expert knowledge, which is however, often too general to fit a particular data set because different data sets have different characteristics. We present an innovative neuro -fuzzy reliability prediction modeling technique. Dataset provided by John Musa of Bell Laboratories is used for validation of the model [2]. It was observed that the neuro-fuzzy reliability prediction model provided significantly better estimations than the Mohanty [19]. 2. Software Reliability. In traditional reliability theory, both the system and its components are allowed to take only two possible states: either working or failed. In general software reliability is defined as ‘how well the software meets its requirements’ and also ‘the probability of failure free operation for the specified period of time in a specified environment’ [4–6]. The literature exposes many unpleasant happenings related to failure of software in the health and defense sectors [ 2–4, 7, 8] due to that many people lost their lives. One of the major causes behind all these misshaping is the presence of unreliable software. Software reliability is an important factor related to defects and faults. It differs from hardware reliability in that it reflects the design perfection, rather than manufacturing perfection. The principal factors that affect software reliability are (i) fault introduction, (ii) fault removal and (iii) the environment.The basic parameters to be considered during prediction of reliability are MTBF (Mean Time Between Failures), MTTR(Mean Time To Repair), FITS (Total no of Failures),Availability, Downtime, MTTF(Mean Time To Failure), Cumulative Errors. 3. Methods for Prediction. 3.1. Reliability Prediction through Fuzzy-Neural Approach. Neural Networks and Fuzzy Logic represent two different methodologies to deal with uncertainty. Each of that has its own advantages and disadvantages for using in prediction. Neural Network can be used in complex non-linear relationships while fuzzy logic is used for imprecision and uncertain data [1-4]. The fuzzy set theory has emerged as an alternative to capture the vagueness, uncertainty and imprecision present in the information. Therefore, in early stages, where the data is inadequate or is present in form of ‘knowledge’, use of fuzzy logic would be more appropriate. Any model based on Fuzzy Techniques help in the prediction of software residual defects. Here a hybrid approach of neuro -fuzzy combination is used for predicting reliability. The proposed model of prediction is depicted in figure 1.

Figure 1. Implementation of fuzzy-neural approach

ICIC EXPRESS LETTERS, VOL.12, NO.12, 2018 1215

Method of Fuzzification and Prediction. Method of prediction through fuzzy has been obtained by Srivastava [14]. Fuzzification process starts with defining the universe of discourse U, which contains the historical data and upon which the fuzzy sets are defined. The study deals with the number of faults occurred during the software reliability checking with assumption that it includes some vagueness incurred due to statistical sampling. The algorithm for application of fuzzy method for software reliability prediction comprises of the following steps: Step 1: Let Amin and Amax be minimum and maximum production. Based upon A min and Amax, we define the universe of the discourse U as [Amin − A1, Amax + A2], where A1 and A2 are two proper positive numbers and accordingly, the universe of discourse U = [3 -15]. Further the universe of discourse U is partitioned into six intervals of equal length as follows: U1 = [3-5] A1 = 4 U2 = [5-7] A2 = 6 U3 = [7-9] A3 = 8 U4 = [9-11] A4 = 10 U5 = [11-13] A5 = 12 U6 = [13-15] A6 = 14 Step 2: Fuzzy sets A1, A2, A3, A4, A5, A6 on universe of discourse, having linguistic values as: A1 = not good, A2 = not too good, A3 = satisfactory good, A4 = good, A5 = fairly good, A6 = very good are to be defined. U1, U2, U3, U4, U5, U6 are chosen as elements of these fuzzy sets. The membership grades of U1, U2, U3, U4, U5, U6 to A1 = {U1/1, U2/.5, U3/0, U4/0, U5/0, U6/0} A2 = {U1/.5, U2/1, U3/.5, U4/0, U5/0, U6/0} A3 = {U1/0, U2/.5, U3/1, U4/.5, U5/0, U6/0} A4 = {U1/0, U2/0, U3/.5, U4/1, U5/.5, U6/0} A5 = {U1/0, U2/0, U3/0, U4/.5, U5/1, U6/.5} A6 = {U1/0, U2/0, U3/0, U4/0, U5/.5, U6/1} The fuzzy logical relationships are A 1 → A4 A2 → A4, A3, A4, A2, A4, A3 A3 → A3, A4, A3, A4, A4, A3, A3, A3, A4, A3, A3, A5, A3, A2, A1, A4, A4, A4, A6, A3, A5 A4 → A4, A3, A4, A5, A3, A3, A4, A3, A3, A4, A2, A4, A4, A4, A3, A3, A5, A4, A2, A3, A4, A5, A4, A3, A4, A5, A4, A4, A5, A5, A5, A5 A5 → A5, A2, A4, A4, A3, A5, A5, A4, A5, A5, A5, A5, A4, A6, A4, A6, A6, A5, A5, A5, A5, A6, A5, A6, A4 A6 → A6, A3, A6, A6, A5, A6, A5, A5, A3, A5 From here we get A1 = 7 A2 = 8.2857 A3 = 9.1305 A4 = 9.4285 A5 = 12 A6 = 12.1818

1216

K. SAHU AND R. K. SRIVASTAVA

3.2. Neural Network Approach. Artificial neural networks are a computational metaphor inspired by studies of the brain and nervous systems in biological organisms [5, 7]. Neural networks are likened to non-parametric models in the statistical literature. It communicates through the connections between processing elements called neurons.

Figure 2. Process of neural network Knowledge is encoded into the network through the strength of the connections between different neurons, called weights, w which can be modified so as to model synaptic learning. The unit computes some function f of the weighted sum of its inputs. While designing the neural network the individual element inputs are x1,x2,...,xm multiplied by the weights wk1,wk2,...,wkm and the weighted values are fed to the summing junction. Their sum is simply wx, the dot product of the single row matrix w and the vector x. m is the number of elements in the input vector. a = (∑w1,m × m) + b

(1)

The weighted sum is ∑w1, and m×m is called the net input to unit 1, often written as net1. Note that w1, m refers to the weight from unit m to unit 1 and b refers to the bias neuron. The function φ is the unit’s activation function. In the simplest case, φ is the sigmoid function, and the unit’s output is φ(n) = 1/(1 + e−n)

(2)

Neural networks learn by example. The learning rule is provided with a set of examples (the training set) of proper network behavior {x1,t1},{x2,t 2},...,{xQ,t Q} where xQ is an input to the network, and tQ is the corresponding correct (target) output. As the inputs are applied to the network, the network outputs are compared to the targets. The learning rule is then used to adjust the weights and biases of the network in order to move the network outputs closer to the targets. We have used the MATLAB for neural network tool. We used Levenberg-Marquardt algorithm for training and testing of results. LM algorithm combines the advantages of gradient-descent and Gauss-Newton methods. LM steps are linear combination of gradient-descent and Gauss-Newton steps based on adaptive rules. Gradient-descent dominated steps until the canyon is reached, are followed by Gauss -Newton dominated steps. The training dataset is 70% of the actual data while testing and validation set are 15 % each.

ICIC EXPRESS LETTERS, VOL.12, NO.12, 2018 1217

4. Results and Discussion. The proposed methods of fuzzy approach and fuzzy-neural approach have been implemented on the very well-known data set of John Musa of Bell Laboratories received from IEEE repository. We have applied results achieved from fuzzy prediction into the ANFIS tool of MATLAB. Membership functions for ANFIS tool input are Name='input1' Range=[1 15] MF1='NG':'trimf',[1 2 3] MF2='NTG':'trimf',[3 4.5 6] MF3='SG':'trimf',[5.5 7 8.5] MF4='G':'trimf',[8.5 9.5 10.5] MF5='FG':'trimf',[10.48 11.488 12.48] MF6='VG':'trimf',[12.6 13.68 membership functions are

15]

Output

Range=[0 15] Num MFs=3 MF1='NG':'trimf',[0.167 2.92 5.257] MF2='FG':'trimf',[4.503 7.16 10] MF3='VG':'trimf',[9 12.043 15] Fuzzy min-max method is used for fuzzification and centroid method is used for defuzzification while back propagation algorithm is used in getting the better results. The fuzzy if-then rules, membership functions and ANFIS process is depicted in the figure below.

Figure 3. Process in ANFIS tool of MATLAB

1218

K. SAHU AND R. K. SRIVASTAVA

Reliability prediction values in form of time to failure achieved from different techniques that are fuzzy, fuzzy-neural, neural network and neural-fuzzy are shown in Appendix A. To have a comparison of the NRMSE calculated values of our proposed models and shown in Figure 2. The Root-Mean-Square Error (RMSE) is a frequently used measure of the differences between values (sample and population values) predicted by a model or an estimator and the values actually observed. The RMSE represents the sample standard deviation of the differences between predicted values and observed values. The RMSE of prediction of a method is measure of accuracy of that prediction method. Normalizing the RMSE facilitates the comparison between datasets or models with different scales. Though there is no consistent means of normalization in the literature, common choices are the mean or the range (defined as the maximum value minus the minimum value) of the measured data:

Where

where Pi is predicted value and Oi is observed value. n is the number of observations. NRMSE is often expressed as a percentage, where lower values indicate less residual variance. In many cases, especially for smaller samples, the sample range is likely to be affected by the size of sample which would hamper comparisons. The NRMSE values attained by the above results are Fuzzy

Fuzzyneural

Neuro-fuzzy

Neural

0.102111 0.05463183 1.081001141 0.15418 The average NRMSE values achieved by different methods and their effects are depicted by graph in following Figure 4.

Figure 4. Graph of NRMSE between different methods

ICIC EXPRESS LETTERS, VOL.12, NO.12, 2018 1219

5. Conclusions. The proposed fuzzy neural method has been implemented to predict the software reliability. The prediction of reliability has many factors such as mean time to failure, time to failure etc. We have considered the time to failure data of bell laboratories. The motivation of the study is that there is no single method in referred past researches regarding my proposed study, which can be used in all kind of data of reliability for prediction. Hence the proposed research focused on hybrid methodology of fuzzy logic and neural network. In this method we implemented data of reliability on algorithm based fuzzy methodology and fuzzy output are then applied to the MATLAB tool of neural network. Further, we used Levenberg-Marquardt algorithm of neural network technique to predict reliability.

Figure 5. Comparison of achieved results from different methods To evaluate the performance of reliability prediction model, average normalized RMSE error was computed. From the four proposed methods we find the minimum error with fuzzy-neural method and it comes to 0.05463183 as its valuable better result which shows superiority in comparison to the other methods. Based on the results achieved, we may conclude that   

The suitability of the proposed method is examined and it is found that the Fuzzyneural method of prediction of software reliability is superior in terms of accuracy and robustness. Fuzzy based algorithm proposed here with the MATLAB implementation of neural network can be used as effective model for prediction of reliability with failure dataset. In proposed work we have considered only one factor of reliability. In future results may vary with the different factors consideration. REFERENCES

[1] Zadeh, L.A. 1965. Fuzzy Sets, Information and Control. 8: 338–353. [2] J.D. Musa, Software Reliability Data, IEEE Computer Society Repository 1979.

1220

K. SAHU AND R. K. SRIVASTAVA

[3] Karuanithi,N., Whitely,D.&Malaya, K. 1992. Predictions of Software Reliability Using Connectionist Models, IEEE Transactions on Software Engineering 18(7): 563–574. [4] Zadeh, L.A. 1994. Fuzzy Logic and Soft Computing: Issues, Contentions and Perspectives. In Proc. Of IIZUKA’94: Third Int. Conf. On Fuzzy Logic, Neural Nets And Soft Computing, 1–2, Iizuka. [5] Musa J. D, Software Reliability Engineering: More Reliable Software, Faster Development and Testing, Newyork: Mcgraw-Hill, 2004. [6] Arnold D.N., Two Disasters Caused by Computer Arithmetic Errors, Available at: http://www.ima.umn.edu/*arnold/455.f96/disasters.html. [7] Y. Zhang and H. Chen, “Predicting for MTBF Failure Data Series of Software Reliability by Genetic Programming Algorithm”, In Proceedings of the Sixth International Conference on Intelligent Systems Design and Applications, Washington, USA, IEEE Computer Society, 2006. [8] Y.S. Su, C.Y. Huang, Neural-Network-Based Approaches for Software Reliability Estimation Using Dynamic Weighted Combinational Models, The Journal Of Systems And Software (2006), Available at: http://dx.doi.org/10. 1016/j.jss.2006.06.017. [9] Lyu, M.R.: Software Reliability Engineering: A Road Map. Future of Software Engineering pp. 153– 170, 2007. [10] Lions, J.L., ARIANE 5 Flight 501 Failures-Report By The Inquiry Board. Available at: http://www.di.unito.it/*dami ani/ariane5rep.html. [11] N. Rajkiran, V. Ravi, Software Reliability Prediction Using Wavelet Neural Networks, In: International Conference On Computational Intelligence And Multimedia Application 1 (ICCIMA, 2007), 2007, Pp. 195–197. [12] T.M. Khoshgoftaar, E.B. Allen, W.D. Jones, J.P. Hudepohl, Classification – Tree Models Of Software Quality Over Multiple Releases, IEEE Transactions On Reliability 49 (1) (2007) 4–11. [13] Eduardo Oliveira Costa, Aurora Trinidad Ramirez Pozo, and Silvia Regina Vergilio, “A Genetic Programming Approach for Software Reliability Modeling”, IEEE Transactions on Reliability, Vol. 59, NO. 1, March 2010. [14] Srivastava, R. K. (2011). Fuzzy-Neural Techniques for Short Term Forecast of Food Grains Production. International Journal of Information Technology, 4(2), 385-390. [15] Zainab Al-Rahamneh, Mohammad Reyalat, Alaa F. Sheta, SuliemanBani-Ahmad, Saleh Al-Oqeili, “ A New Software Reliability Growth Model: Genetic-Programming-Based approach”, Journal of Software Engineering and Applications, 4, pp. 476-481, 2011. [16] Yadav, D.K., Chaturvedi, S.K., Misra, R.B.: Early Software Defects Prediction Using Fuzzy Logic. International Journal of Performability Engineering.8, 4, pp. 399–408, 2012. [17] Mohamed Benaddy and Mohamed Wakrim, “Simulated Annealing Neural Network for Software Failure Prediction”, International Journal of Software Engineering and Its Applications, Vol. 6, No. 4, 2012. [18] Yadav, D.K., Chaturvedi, S.K., Misra, R.B.: Early Software Defects Prediction Using Fuzzy Logic. International Journal of Performability Engineering. 8, 4, 399–408 (2012). [19] Mohanty, R., Ravi, V., &Patra, M. R. (2013). Hybrid Intelligent Systems for Predicting Software Reliability. Applied Soft Computing, 13(1), 189-200. [20] Jin, C., & Jin, S. W. (2014). Software reliability prediction model based on support vector regression with improved estimation of distribution algorithms. Applied Soft Computing, 15, 113-120. [21] Roy, P., Mahapatra, G. S., Rani, P., Pandey, S. K., & Dey, K. N. (2014). Robust feedforward and recurrent neural network based dynamic weighted combination models for software reliability prediction. Applied Soft Computing, 22, 629-637. [22] Rizvi, S. W. A., Khan, R. A., & Singh, V. K. (2016). Software reliability prediction using fuzzy inference system: early stage perspective. International Journal of Computer Applications, 145(10), 16-23. [23] Shi, Y., Li, M., Arndt, S., &Smidts, C. (2017). Metric-based software reliability prediction approach and its application. Empirical Software Engineering, 22(4), 1579-1633. [24] Kumar, R., Khan, S. A. and Khan R. A., Durable security in software development: Needs and importance, CSI Communication, pp.34-36, 2015. [25] Sahu, K., Rajshree and Kumar, R., Risk management perspective in SDLC, International Journal of Advanced Research in Computer Science and Software Engineering, 4, 3, pp.1247-1251, 2014. [26] Sahu, K., and Srivastava, R. K., Revisiting software reliability, in Data Management, Analytics and Innova...


Similar Free PDFs