Estimation of Software Reliability for Littlewood Pareto ...

4 downloads 0 Views 978KB Size Report
Keywords: Blackwellization, Littlewood model, Maximum Likelihood Estimation,. Minimum Variance Unbiased Estimation, Software reliability, Software reliability ...
Estimation of Software Reliability for Littlewood Pareto Failure Time Model B. Roopashri Tantri and Murulidhar N. N.

ISSN 1738-9984 Volume 11, Number 6, 2017

International Journal of Software Engineering and Its Applications Vol. 11, No. 6 (2017), pp.25-34 http://dx.doi.org/10.14257/ijseia.2017.11.6.03

Science & Engineering Research Support soCiety Copyright © 2017 SERSC All rights reserved

International Journal of Software Engineering and Its Application Vol.11, No.6 (2017), pp.25-34 http://dx.doi.org/10.14257/ijseia.2017.11.6.03

Estimation of Software Reliability for Littlewood Pareto Failure Time Model B. Roopashri Tantri1* and Murulidhar N. N. 2 1

Professor, Department of ISE, NCET, Devanahalli, Bangalore, India 2 Professor, Department of MACS, NITK, Surathkal, India 1 [email protected] 2 [email protected] Abstract

The concept of software reliability is very important for every software developer. Many researchers have developed different types of software reliability models, based on the probability distribution of the failure times, such as exponential, Weibull, Gamma, Pareto etc. Estimating the reliability of the software enables the developers to ensure that the reliability objectives specified by the user are met. It also helps the users to decide whether or not to accept the software, based on the reliability estimates. The reliability estimates have been obtained by many researchers using various techniques, for the models mentioned above. In most of these cases, the method of least squares has been used. Few researchers have used Bayes methods for estimating reliability. Herein, Littlewood Pareto class models have been considered and expressions for reliability estimates have been derived using the methods of Maximum Likelihood Estimation and Minimum Variance Unbiased Estimation. Considering the statistical properties of the two estimates, it is recommended that the reliability estimate obtained using the method of minimum variance unbiased estimation may be preferred over that obtained using the method of maximum likelihood estimation. A few case studies have been considered and the estimates of reliability obtained by the above two methods have been compared. Keywords: Blackwellization, Littlewood model, Maximum Likelihood Estimation, Minimum Variance Unbiased Estimation, Software reliability, Software reliability models

Notations: f(t) : Probability density function (pdf) of T. R(t) : Software Reliability at time point t = P(T>t). L : Likelihood function. f(x|y ) : Conditional pdf of X given Y. E(X) : Expectation of X. E(U|S) : Conditional expectation of U given S. G(n,α) : Gamma distribution with parameters n and α.

Terminologies: Software reliability [1]: It is the probability of failure free operation of a computer program in a specified environment for a specified period of time. Software reliability models [2]: These describe the behavior of failure with time, by expressing failures as random processes in either times of failure or the number of failures, at fixed times. 1*

Corresponding Author

ISSN: 1738-9984 IJSEIA Copyright ⓒ 2017 SERSC

International Journal of Software Engineering and Its Application Vol.11, No.6 (2017)

Pareto class models [2]: Here, the failure times are assumed to follow Pareto distribution with parameters α and β. Littlewood (1981) proposed a reliability model which has the failure time distribution given by f (t ) 

 t  1      

(  1)

;t  0 .

Method of MLE [3]: The value of the parameter θ, that maximizes the likelihood n

function L 

 f (t , ) i

(where f (t i , ) denotes the probability function of random

i 1

variable T ), is called the Maximum Likelihood Estimator (MLE) of the parameter θ. Method of MVUE [3]: If a statistic T based on a sample of size n is such that T is - (i) unbiased for the parameter θ and (ii) has the smallest variance among the class of all unbiased estimators of θ, then, T is called the Minimum Variance Unbiased Estimator (MVUE) of θ. It can be shown that such an MVUE is always unique. To find this MVUE, a procedure called Blackwellization is used. Blackwellization [3]: The technique of obtaining MVUE from any unbiased estimator using the sufficient statistic is called Blackwellization. Here, an unbiased estimator say U is found for the parameter and then a complete sufficient estimator say S is found. The MVUE is then obtained as E(U|S).

1. Introduction The most important quality characteristic of software is software reliability, which is the probability of failure free operation of a computer program in a specified environment for a specified time. The time to failure is a random variable which follows certain probability distribution. Based on the distribution of these failure times, there exist several classes of software reliability models, such as exponential, Weibull, Gamma, Pareto etc. Evaluation of reliability of software for these models is a major concern. Many researchers have assessed the performance of software using measures like failure intensity function, Mean Time To Failure (MTTF), Failure rate etc, for different classes of models. Nozer D. Singpurwalla, et al. [4] described briefly, several well-known probability models for assessing the reliability of software. Bev Littlewood [5] mentions several simple techniques for evaluating software reliability forecasts and improving the predictive accuracy using recalibration techniques. Estimation of software reliability is very vital from the point of view of software developer and user of the software. Roopashri and Murulidhar [6] obtained reliability estimates for exponential class models using the method of MVUE. Roopashri and Murulidhar [7] estimated the reliability of Gamma class models using the methods of MLE and MVUE. Marko Palviainen et al. [8] addressed software reliability evaluation during the design and implementation phases by providing a coherent approach by combining both predicted and measured reliability values with heuristic estimates in order to facilitate a smooth reliability evaluation process. Chris Dale [9] explains the actual and potential uses of statistical methods in the assessment of software reliability. In the thesis entitled “Accurate Software Reliability Estimation”, Jason Allen Denton [10] examines the impact of the parameter estimation technique on model accuracy and claims that the maximum likelihood method provides estimators which are more reliable than the least squares method. Taehyoun et al. [11] proposed an effective approach to estimate the parameters of software reliability growth model using a real valued genetic algorithm and proved that RGA can be a promising solution to effectively managing software quality through the accurate reliability estimates than using method of maximum likelihood estimation or the method of least squares. Weiwen et al. [12] presented a Bayesian model updating approach (BMUA) for life cycle reliability assessment of new products. Hiroyuki et al. [13] proposed a new estimation method for the model parameters of a software reliability

26

Copyright ⓒ 2017 SERSC

International Journal of Software Engineering and Its Application Vol.11, No.6 (2017)

model based on the EM (Expectation-Maximization) principle. Tapan Nayak [14] gave an overview of statistical methods and methods for software reliability estimation. This paper discusses the reliability estimation of Littlewood Pareto model. Littlewood (1981) developed a model, by considering the failure times as having Pareto distribution with parameters α (shape parameter) and β (scale parameter). The model has failure time distribution given by f (t ) 

 t  1    

(  1)

; t  0. Karanta et al. [15] used Baysian

approach to obtain the estimate of failure intensity function of this Littlewood model. L. G. Barendregt et al. [16] estimated the parameters of this model by the method of MLE. Using the invariance property of MLEs, the reliability estimates using MLE can be found. Here in, the reliability estimates of Littlewood model have been obtained using two methods: the method of MLE and the method of MVUE. Blackwellization method is used for finding the MVUE. Failure time data given by Lyu [17], Musa [2] and J. Liu [18] have been used to compare the two estimates and to choose the better estimate among these two.

2. Reliability Estimates of Littlewood Model 2.1. MLE of Reliability The Littlewood Pareto failure time model is given by (  1)

 t    1    ; t  0.   (   t ) 1 The reliability function R(t) for the above model is given by f (t ) 



R(t )  P(T  t ) 

 t

(1)



    ; t  0. f (t )dt     t 

(2)

To find MLE of R(t), it is required to find MLEs of the parameters α and β. Let (x 1, x 2, x3 ,…x n) be a random sample of size n from the Pareto distribution given in (1). The likelihood function of this sample is, n

L



f (ti , ,  ) 

i 1

n

 

 (   t ) i 1

i

1

  n  n

n

 ( t ) i 1

The MLEs of α and β are obtained as ˆ  min(ti ) and ˆ 

1

1

i

n n

 ln(1   ) ti

(3)

i 1

Using the invariance property of MLEs, the MLE of R(t) is obtained as

 ˆ   Rˆ (t )    ˆ  t   

ˆ

(4)

where ˆ and ˆ are MLEs of β and α respectively, as given in (3). 2.2. MVUE of Reliability The MVUE of reliability can be obtained using the method of Blackwellization. According to this method, first an unbiased estimator U is obtained and then a complete sufficient estimator S is obtained. The MVUE is then obtained as ~ R (t )  E (U S ). Unbiased estimator U:

Copyright ⓒ 2017 SERSC

27

International Journal of Software Engineering and Its Application Vol.11, No.6 (2017)

To find an unbiased estimator U, define a unit function

(5) Then, E(U (t1 ))  P(T1  t )  R(t ). Hence, U(t 1 ) as given in (5) is an unbiased estimator of R(t). Complete sufficient estimator S: By using the statistical theory of factorization theorem [3], the complete sufficient estimator of R(t) is obtained as n t    S ln i (6)    i 1



The MVUE of R(t) is thus given by 

~ R (t )  E (U (t1 ) S )   f (t1 s)dt1 .

(7)

t

f (t1 , s) . To find f (t1 , s) , we split the sample T 1, T 2,…T n into two f ( s) samples : T 1 of size one and T 2,T3 ,……T n of size (n-1). Since each Ti is distributed as where f (t1 | s) 

  . (t1   ) 1

Pareto with pdf as in (1), we have, f (t1 ) 

Here, the statistic S∽ G(n,  ) with pdf f ( s)  n

the statistic Z 

1  n e s s n1 ; s  0 and also that ( n )

1  ti     n1e z z n2 ; z  0 .  ∽ G(n  1,  ) , with pdf f ( z )  (n  1)  

 ln i 2

Further, noting that T1 and Z are independent, their joint pdf is given by    n 1 z n 2 f (t1 , z )  f (t1 ). f ( z )  e z . (t1   )  1 (n  1)  t1     , the joint pdf of T 1 and S is given   

Rewriting S in equation (6) as S  Z  ln 

 t1    

n 2

 t1       n1   s ln      . e by f (t1 , s)  ( s  ln  1 (n  1) (t1   )     Thus, from equation (7), the MVUE of the reliability function R(t) is obtained as   t   ln1  1       (n  1)  ~   R (t )  1    (t1   )  s  t    



n2

1 dt1 , s

which simplifies to   ~  R (t )  1    

28

 t  ln1     n t  ln i   i 1



       

n 1

(8)

Copyright ⓒ 2017 SERSC

International Journal of Software Engineering and Its Application Vol.11, No.6 (2017)

It can be shown that MLE of R(t) is biased and sufficient, while MVUE of R(t) is unbiased, sufficient and efficient. Hence MVUE of R(t) gives a better estimate than MLE of R(t).

3. Case Studies Four case studies of failure times of different failures observed by Lyu [17], Musa [2] and J. Liu [18] have been considered below. Comparison of the two estimates of reliability and their analysis has been carried out for these case studies. 3.1. Case study I The sample failure data for 10 failures, as given by Lyu [17] is considered below. For n  0.4587 are obtained using equation this data, ˆ  min(t i )  7 and ˆ  n  ti  ln1   ˆ  i 1  ~ (3). Table 1 gives the reliability estimates Rˆ (t ) and R (t ) for different values of failure time t, obtained using equation (4) and equation (8) respectively.



Table 1. MLE and MVUE of R(t) Failure number 1 2 3 4 5 6 7 8 9 10

Failure time (t) 7 18 26 36 51 73 93 118 146 181

R(t)-MLE 0.765504 0.605897 0.540596 0.484477 0.427677 0.373773 0.340305 0.309769 0.284440 0.260724

R(t)-MVUE 0.777513 0.621493 0.556449 0.499944 0.442156 0.386735 0.352032 0.320173 0.293603 0.268609

Figure 1 shows the graph of two reliability estimates for Littlewood model. 0.8

Reliability

0.7 0.6 0.5

R(t)-MLE

0.4

R(t)-MVUE

0.3 0.2

0

50

100

150

200

Time

Figure 1. Reliability Curves of MLE and MVUE of R(t)

Copyright ⓒ 2017 SERSC

29

International Journal of Software Engineering and Its Application Vol.11, No.6 (2017)

3.2. Case Study II The sample failure data for 15 failures, as given by Musa [2] is considered below. For n this data, ˆ  min(t i )  10 and ˆ   0.43167 are obtained using equation n  ti  ln 1    i 1  ˆ  ~ (3). Table 2 gives the reliability estimates Rˆ (t ) and R (t ) for different values of failure time t, obtained using equation (4) and equation (8) respectively. Table 2. MLE and MVUE of R(t) Failure number 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Failure time (t) 10 19 32 43 58 70 88 103 125 150 169 199 231 256 296

R(t)-MLE 0.741403 0.631533 0.538222 0.486801 0.437150 0.407533 0.373351 0.351089 0.325138 0.302146 0.287859 0.269235 0.253177 0.242617 0.228380

R(t)- MVUE 0.754204 0.646824 0.554065 0.502290 0.451831 0.421506 0.386292 0.363232 0.336226 0.312184 0.297191 0.277585 0.260626 0.249446 0.234341

Figure 2 shows the graph of two reliability estimates for Littlewood model. 0.8 0.7

Reliability

0.6 0.5

R(t)-MLE R(t)- MVUE

0.4 0.3

0.2 0

100

200

300

Time

Figure 2. Reliability Curves of MLE and MVUE of R(t)

30

Copyright ⓒ 2017 SERSC

International Journal of Software Engineering and Its Application Vol.11, No.6 (2017)

3.3. Case Study III The sample failure data for 17 failures, as given by J. Liu [18] is considered below. For n this data, ˆ  min(t i )  932 and ˆ   0.4476 are obtained using equation n  ti  ln 1    i 1  ˆ  ~ (3). Table 3 gives the reliability estimates Rˆ (t ) and R (t ) for different values of failure time t, obtained using equation (4) and equation (8) respectively. Table 3. MLE and MVUE of R(t) Failure number Failure time (t) R(t)-MLE R(t)-MVUE 1 932 0.733238 0.744732 2 4035 0.472830 0.486285 3 4696 0.447112 0.460188 4 4893 0.440278 0.453236 5 6369 0.397942 0.409984 6 6524 0.394217 0.406165 7 7882 0.365768 0.376910 8 8170 0.360542 0.371519 9 9339 0.341558 0.351901 10 10400 0.326853 0.336662 11 10542 0.325036 0.334776 12 11036 0.318961 0.328466 13 11696 0.311387 0.320592 14 11905 0.309108 0.318220 15 12266 0.305294 0.314249 16 12954 0.298428 0.307094 17 14000 0.288882 0.297132 Figure 3 shows the graph of two reliability estimates for Littlewood model.

0.8

0.7

Reliability

0.6 0.5

R(t)-MLE

R(t)-MVUE

0.4 0.3 0.2

0

5000

10000

15000

Figure 3. Reliability curves of MLE and MVUE of R(t)

Time

Copyright ⓒ 2017 SERSC

31

International Journal of Software Engineering and Its Application Vol.11, No.6 (2017)

3.4. Case Study IV The sample failure data for 15 failures, as given by Musa [2] is considered below. For n  0.4057 are obtained using equation this data, ˆ  min(t i )  0.21 and ˆ  n  ti  ln1    ˆ   i 1 ~ (3). Table gives the reliability estimates Rˆ (t ) and R (t ) for different values of failure time t, obtained using equation (4) and equation (8) respectively.



Table 4. MLE and MVUE of R(t) Failure number Failure time (t) R(t)-MLE R(t)-MVUE 1 0.21 0.75487 0.76724 2 0.44 0.632303 0.64759 3 0.71 0.549181 0.56504 4 1.02 0.488146 0.50366 5 1.39 0.438746 0.45347 6 1.83 0.397564 0.41127 7 2.41 0.359186 0.37164 8 3.22 0.322000 0.33296 9 4.61 0.280487 0.28945 10 4.69 0.27862 0.28748 11 4.78 0.27657 0.28532 12 4.86 0.274791 0.28345 13 4.94 0.273051 0.28162 14 5.03 0.271139 0.2796 15 5.11 0.269477 0.27785 Figure 4 shows the graph of two reliability estimates for Littlewood model.

0.8 0.7

Reliability

0.6 0.5

R(t)-MLE R(t)-MVUE

0.4 0.3 0.2 0

1

2

3 Time

4

5

6

Figure 4. Reliability Curves of MLE and MVUE of R(t)

32

Copyright ⓒ 2017 SERSC

International Journal of Software Engineering and Its Application Vol.11, No.6 (2017)

4. Analysis of Case Studies In the above four case studies, the reliability function have been estimated for different values of failure time, by the methods of MLE and MVUE. The graph of reliability curves versus failure time in the above four case studies indicate the decrease in reliability with increasing time, for both the methods of estimation. It can also be observed from the figures in the above four case studies that, the reliability curve of MLE is below that of MVUE, which is a clear indication that MVUE of R(t) has a higher value than that of the corresponding MLE. Further, noting that MLE of R(t) is biased and sufficient, while MVUE of R(t) is unbiased, sufficient and efficient, MVUE of R(t) is preferred over MLE of R(t). Thus, MVUE of R(t) gives more accurate value of reliability.

5. Conclusion One of the best measures of software quality is the software reliability. Quantification of reliability prior to its release will help the software developers to ensure that the reliability objectives as specified by the user are met. This will also help the users to have an idea of the durability of software in the long run and to decide whether or not to accept the software. Software failure data obtained during testing can be used to estimate the software reliability. Many researchers have obtained various measures like mean time to failure, failure intensity function etc, as measures of performance of the software. However, the reliability of the software gives a more feasible value of its durability. Herein, the statistical estimation of software reliability is considered. The expressions for reliability estimates have been derived for Littlewood Pareto failure time model, using the methods of MLE and MVUE. Four case studies have been considered to compare the two ~ estimators of R(t). It is seen that the reliability curve of Rˆ (t ) lies below that of R (t ) and since MVUE gives better estimators than the MLE, MVUE of R(t) may be preferred over the MLE of R(t) to get more accurate value of reliability. Accordingly, it is recommended that software developers may use MVUE of R(t) while estimating the reliability of the software. Also, the software users may use this MVUE of R(t) to decide whether to go for the software or not.

Acknowledgments The authors would like to thank NCET, Bangalore, India and NITK, Surathkal, India for their support and encouragement in preparing the paper.

References [1] [2] [3] [4] [5] [6] [7]

[8] [9]

S. T. Kishor, “Probability and Statistics with Reliability, Queuing and Computer Science Applications”, PHI Learning Pvt. Ltd., (1998). J. D. Musa, A. Iannino and K. Okumoto, “Software Reliability Measurement, Prediction, Application”, International Edition, MC-Graw Hill, (1991). S. C. Gupta and V. K. Kapoor, “Fundamentals of Mathematical Statistics”, 9th Edition, Sultan Chand & Sons, (1996). N. D. Singpurwalla and R. Soyer, “Reliability and Maintenance of complex systems”, NATO ASI Series, Springer Berlin Heidelberg, vol. 154, (1996), pp. 345-367. B. Littlewood, “Forecasting software reliability”, Lecture Notes in Computer Science, Springer Verlag, Berlin, no. 341, (1988), pp. 30-41. B. R. Tantri and N. N. Murulidhar, “An efficient estimator of reliability for exponential class software reliability models”, Lecture Notes on Software Engineering, vol. 2, no. 3, (2014), pp. 201-204. B. R. Tantri and N. N. Murulidhar, “Software Reliability Estimation of Gamma Failure Time models”, Proceedings of IEEE International Conference on System Reliability and Science, Paris, France, (2016), pp. 105-109. M. Palviainen, A. Evesti and E. Ovaska, “The reliability estimation, prediction and measuring of component-based software”, Journal of Systems and Software, vol. 84, no. 6, (2011), pp. 1054-1070. C. Dale, “The assessment of software reliability”, Reliability Engineering and System Safety, vol. 34, no. 1, (1991), pp. 91-103.

Copyright ⓒ 2017 SERSC

33

International Journal of Software Engineering and Its Application Vol.11, No.6 (2017)

[10] J. A. Denton, “Accurate Software Reliability Estimation”, Computer Science, Colorado State University,

(1999). [11] T. Kim, K. Lee and J. Baik, “An effective approach to estimating the parameters of software reliability

[12]

[13]

[14] [15] [16] [17] [18]

growth models using a real-valued genetic algorithm”, Journal of Systems and Software, vol. 102, (2015), pp. 134-144. W. Peng, H. Z. Huang, Y. Li, M. J. Zuo and M. Xie, “Life cycle reliability assessment of new products A Bayesian model updating approach”, Reliability Engineering & System Safety, vol. 112, (2013), pp. 109-119. H. Okamura, Y. Watanabe, T. Dohi and S. Osaki, “An estimation of software reliability models based on EM algorithm”, Electronics and Communication in Japan, (Part III; Fundamental electronic Science), Wiley online library, vol. 86, no. 6, (2003), pp. 29-37. T. K. Nayak, “Frontiers in reliability - Series on quality, reliability and engineering statistics”, vol. 4, (1998), pp. 271-281. K. Ilkka, “Methods and problems of software reliability estimation”, VTT Working Papers 63, (2006). L. G. Barendregt and M. C. Van Pul, “On the Estimation of Parameters of Littlewood Model in Software Reliability”, Wiley online library, Statistica Neerlandica, vol. 49, no. 2, (2008), pp. 165-184. M. R. Lyu, “Hand book of Software Reliability Engineering”, IEEE Computer Society Press, McGraw Hill, (2004). J. Liu, Y. Liu and M. Xu, “Parameter Estimation of Jelinski-Moranda Model Based on Weighted Nonlinear Least Squares and Heteroscedasticity”, arXiv preprint arXiv:1503.00094, (2015), pp. 1-17.

Authors B. Roopashri Tantri, is working as professor in the department of Information Science and Engineering at Nagarjuna College of Engineering & Technology, Bangalore. She is pursuing Ph. D. in the area of Software Reliability at NITK, Surathkal, India. She has about 23 years of teaching experience. She is a member of IEEE and ISTE. She has published several papers in international journals and conferences. Murulidhar N. N., obtained his Ph. D. in Reliability Engineering from IIT, Bombay, India. Presently, he is a professor in the Department of Mathematical and Computational Sciences, NITK, Surathkal. He has attended several national and international conferences and has published research articles in various national and international journals. His areas of interest are reliability engineering, software reliability, stochastic analysis and operations research. Prof. Murulidhar is a life member of ISPS, RMS, ISTE.

34

Copyright ⓒ 2017 SERSC