a parameter estimation method for software reliability models

5
Procedia Engineering 15 (2011) 3477 – 3481 1877-7058 © 2011 Published by Elsevier Ltd. doi:10.1016/j.proeng.2011.08.651 Available online at www.sciencedirect.com Advanced in Control Engineering and Information Science A Parameter Estimation Method for Software Reliability Models Changyou Zheng a , Xiaoming Liu a , Song Huang a , Yi Yao a a Institute of Command and Automation, PLA University of Science and Technolog, Nanjing, China Abstract During the last 40 years, many software reliability growth models (SRGM) have been proposed for estimating the reliability of software. Most of them are nonlinear functions, which makes it hard to estimate the parameters. A parameter estimation method based on the Ant Colony Algorithm is proposed in this paper. Numerical examples based on three sets of real failure data are presented and discussed in detail. It is shown that (1) the traditional method can’t get possible solutions for some models and datasets, while the proposed method always can get one; (2) comparing with PSO algorithm, our method’s results have nearly a 10 times higher accuracy for most of the models. © 2011 Published by Elsevier Ltd. Selection and/or peer-review under responsibility of [CEIS 2011] Keywords: Software Reliability Growth Models; Parameters Estimating; Ant Colony Algorithm 1. Introduction The basic idea of software reliability modeling is to predict the reliability of the software with its failure data. During the past 40 years, nearly one hundred software reliability growth models (SRGM) have been proposed. Two traditional methods in parameter estimation are maximum likelihood and least squares method. Due to most SRGMs are nonlinear functions, these two methods are not suitable any more. Researchers have proposed several new parameter estimation methods. Okamura and Dohi[1,2,3] introduced a method based on expectation-maximization (EM) principal, and applied it in hybrid software reliability model, discrete time software reliability models and Markov modulated software reliability E-mail address:[email protected]

Upload: changyou-zheng

Post on 30-Nov-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Parameter Estimation Method for Software Reliability Models

Procedia Engineering 15 (2011) 3477 – 3481

1877-7058 © 2011 Published by Elsevier Ltd.doi:10.1016/j.proeng.2011.08.651

Available online at www.sciencedirect.comAvailable online at www.sciencedirect.com

Procedia Engineering 00 (2011) 000–000

ProcediaEngineering

www.elsevier.com/locate/procedia

Advanced in Control Engineering and Information Science

A Parameter Estimation Method for Software Reliability Models

Changyou Zhenga∗, Xiaoming Liua, Song Huanga, Yi Yaoa

aInstitute of Command and Automation, PLA University of Science and Technolog, Nanjing, China

Abstract

During the last 40 years, many software reliability growth models (SRGM) have been proposed for estimating the reliability of software. Most of them are nonlinear functions, which makes it hard to estimate the parameters. A parameter estimation method based on the Ant Colony Algorithm is proposed in this paper. Numerical examples based on three sets of real failure data are presented and discussed in detail. It is shown that (1) the traditional method can’t get possible solutions for some models and datasets, while the proposed method always can get one; (2) comparing with PSO algorithm, our method’s results have nearly a 10 times higher accuracy for most of the models.

© 2011 Published by Elsevier Ltd. Selection and/or peer-review under responsibility of [CEIS 2011]

Keywords: Software Reliability Growth Models; Parameters Estimating; Ant Colony Algorithm

1. Introduction

The basic idea of software reliability modeling is to predict the reliability of the software with its failure data. During the past 40 years, nearly one hundred software reliability growth models (SRGM) have been proposed. Two traditional methods in parameter estimation are maximum likelihood and least squares method. Due to most SRGMs are nonlinear functions, these two methods are not suitable any more. Researchers have proposed several new parameter estimation methods. Okamura and Dohi[1,2,3] introduced a method based on expectation-maximization (EM) principal, and applied it in hybrid software reliability model, discrete time software reliability models and Markov modulated software reliability

∗ E-mail address:[email protected]

Page 2: A Parameter Estimation Method for Software Reliability Models

3478 Changyou Zheng et al. / Procedia Engineering 15 (2011) 3477 – 34812 Changyou Zheng, Xiaoming Liu,Song Huang, Yi Yao/ Procedia Engineering 00 (2011) 000–000

models. Minohara and Tohma[4] used genetic algorithm(GA) in hyper-geometric distribution SRGM. They reduced the coding string length by a proportion coefficient, thus to decrease the searching range of parameter’s value. Zhang[5] applied particle swarm optimization (PSO) algorithm, but its searching range is too large, thus the convergence speed is slow and the accuracy is not high enough.

Ant colony algorithm [6] is a brand-new bionic simulated evolutionary algorithm, which has been applied to many fields. It has a lot of virtues. First, it uses a positive feedback, parallel and self-catalyze mechanism. Thus it has an excellent robustness and is easy to collaborate with other methods. Second, it has a well performance to the optimization problem, and can get rid of traditional optimization methods’ weakness. Third, coding and operation with ant colony algorithm is easy, and it has a good convergence rate. Therefore, this algorithm is suitable for the parameters estimation of software reliability models.

2. Parameter estimation method based on ant colony algorithm

Scientists found that while looking for food, the ants can continually secrete a kind of volatile substance called pheromone. The stronger the pheromone signal is, the more other ants followed that route. Because of the volatility of pheromone, the paths no ants choose and the longer paths chosen in early time will have less and less impact on the ants. The idea of ant colony algorithm comes from the fact said above. It searches for the optimal solution via the evolution of candidate solutions. The detailed discussion of basic ant colony algorithm can be found in [6].

For the ant colony algorithm originally used in the discrete best network path searching, some changes should be made while adjusting it to parameter estimation problem. In this paper, we improve the algorithm based on the characteristics of SRGMs. The algorithm is designed as follows:

Step 1: The parameter estimation problem can be translated into function optimization problem using least squares principal. The objective function is as (1):

2

0

min [( ( ) ( ))]T

t

J m t tμ=

= −∑ (1)

In the function, J (called fitness) represents the Euclidean distance between the actual failure number and the predicted failure number; t indicates the time that failure occurrences; T represents the total time the software runs; m(t) means by the time of t, the total discovered failure number; and ( )tμ represents the expectation failure number by the time of t(which means predicted failure number by SRGM).

Step 2: divide the solution space, set the initial position of each ant and other parameters in the algorithm. Take G-O model as a example, suppose parameters a and b have the value domain of

max0 a a< < , max0 b b< < and can be divided into n1 and n2 areas respectively. Then the entire parameters’ value domain could be divided into 1 2n n× areas. Let m ants live in these areas randomly.

Step 3: while searched times is less than max repetition times maxN , let each ant search for best path automatically. At first, each ant k has the pheromone k kJτ = , and the travel threshold is set to 0P .While searching, each ant k chooses local searching or global searching by the probability of kp .

/k k kp r τ= (2)

Where kr represents the kth ant’s distance between its current path and the current best path, namely

k k bestr τ τ= − . If kp is less than 0P , then the ant chooses local search, otherwise, it chooses global search. If its new fitness J is better than its current fitness J, then update the ant’s position, else the ant will hold still. The method of updating kτ is shown in (3).

(1 )k k kJτ ρ τ= − + (3)

Page 3: A Parameter Estimation Method for Software Reliability Models

3479Changyou Zheng et al. / Procedia Engineering 15 (2011) 3477 – 3481 Changyou Zheng, Xiaoming Liu, Song Huang, Yi Yao/ Procedia Engineering 00 (2011) 000–000 3

In (3), ρ represents the volatilization rate of pheromone. As designed above, the algorithm’s pseudo code is shown in algorithm 1

Algorithm 1: Parameters estimation method based on ant colony algorithm

input: ( )tμ , ( )m toutput:fitting result comment: ( )tμ : software reliability growth model

( )m t : actual failure number begin

Set the initial value of 0P , ρ , maxN and m;Divide the solution space into 1 2n n× areas and Put the ants in these areas randomly; Calculate initial fitness k kJτ = for each ant k as (1)

0N ← ;while maxN N<

0k ← ;while k m<

Calculate travel probability kp for each ant k as (2); if 0kp P<

Ant k searches in its current area locally; Calculate its new fitness '

kJ as (1); else

Ant k searches globally; Calculate its new fitness '

kJ as (1); end if if '

k kJ J<Update the ant’s position;

elseThe ant holds still;

end if Calculate the ant’s pheromone kτ as (3);

1k k← + ;end while Record the best value and the ants’ position;

1N N← +end while Output the position of the ant which has the best value, namely the fit result;

endIf the model doesn’t have two parameters (e.g. M3), we only need to modify the division of solution

space shown in step 2. The time cost of the proposed algorithm is depended on max loop times maxN and the amount of ants m, therefore the time complexity is max( )O N mg . The space cost is spent on recording each ant’s fitness and the division of solution space, so the space complexity of the proposed algorithm is

1 2( )O n n m+g .The proposed algorithm has some obvious advantages. First, it is more stable than the traditional

optimization method, for it starts searching randomly. Second, the proposed algorithm won’t be restricted by the aim function’s nonlinearity, continuity, and differentiability. Third, as the proposed algorithm applies a non-determinate route category, it won’t be trapped in local extremum.

Page 4: A Parameter Estimation Method for Software Reliability Models

3480 Changyou Zheng et al. / Procedia Engineering 15 (2011) 3477 – 34814 Changyou Zheng, Xiaoming Liu,Song Huang, Yi Yao/ Procedia Engineering 00 (2011) 000–000

3. experiment evaluation

In this paper, four classic SRGMs are chosen as research object [7]: G-O Model (M1, ( ) (1 )btt a eμ −= − ), Delay S-shape Model (M2, ( ) (1 (1 ) )btt a bt eμ −= − + ), Weibull Model (M3, ( ) (1 )tt a e

αβμ −= − ) and M-O Model (M4, ( ) ln(1 )t a btμ = + ). They covered all the three types by Musa SRGM category. M1 and M2 belong to finite failures Poisson model, M3 is a finite failures binary model, and M4 is an infinite failures Poisson model. In addition, M1, M2 and M4 have two parameters, and M3 has three parameters. So we believe these four models can represent most SRGMs. SYS1, SYS2, SYS3 in Musa dataset a are chosen as our experiment data. Gauss-Newton algorithm and particle swarm optimization (PSO) algorithm are chosen as a compare.

Fitness J represents the distance between the predicted failure number and the actual failure number. The smaller J is, the better the predicted result is. Using G-O model to predict failure numbers in all the three datasets are shown in Figure 1. It is shown clearly that the fitting results by proposed algorithm are more closely to the actual data, but PSO algorithm doesn’t fit well.

Table 2. Fitting result’s by Gauss-Newton, PSO algorithm and Ant Colony Algorithm ("*" means the algorithm doesn’t get a

possible solution)

Model G-O model delay S-Shape model Weibull model M-O model

Method G-N PSO ANT G-N PSO ANT G-N PSO ANT G-N PSO ANT

SYS1 * 168.567 68.871 * 142.394 146.591 * 139.724 33.439 31.601 35.744 32.922

SYS2 * 100.932 14.491 44.788 230.212 46.895 * 166.654 38.712 10.168 10.454 17.418

SYS3 * 456.390 47.975 154.182 200.335 154.375 * 676.780 82.607 47.500 48.492 47.522

Table 2 shows a compare between Gauss-Newton method, PSO algorithm and ant colony algorithm, some conclusion can be found that:

a DACS. The software reliability dataset. http://www.thedacs.com/databases/sled/swrel.php

(a) (b) (c)

Fig. 1. Compare between ANT and PSO algorithm’s predicted results. (a), (b), (c) used Musa dataset SYS1, SYS2 and SYS3 respectively. “*”represents the actual failure number of the software, “○”represents predicted failure number by PSO algorithm and “□”represents predicted failure number by the proposed algorithm. Obviously the error of the results by the proposed algorithm is minor.

Page 5: A Parameter Estimation Method for Software Reliability Models

3481Changyou Zheng et al. / Procedia Engineering 15 (2011) 3477 – 3481 Changyou Zheng, Xiaoming Liu, Song Huang, Yi Yao/ Procedia Engineering 00 (2011) 000–000 5

• Gauss-Newton method can’t get possible solutions for G-O model and Weibull model, while the proposed algorithm can. For other two models—delay S-Shape model and M-O model—the proposed algorithm’s results are as good as Gauss-Newton method’s.

• Comparing with PSO algorithm, most results by the proposed algorithm are much better. Nearly all the results by ANTs are much less than those by PSO.

4. Conclusions

Estimating parameters of software reliability growth model is an important aspect in reliability engineering. Most software reliability models’ parameters are hard to estimate, as they are nonlinear functions. A method based on Ant Colony Algorithm is proposed in this paper. Experiments with three typical models show that this algorithm demonstrates good applicability. Comparing with PSO algorithm, our method shows higher precision and faster convergence speed. Our future work includes researching in parameters’ initial value setting, and the method of dividing solution space.

5. Acknowledgment

This work was supported by National High Technology Research and Development Program of China (No: 2009AA01Z402). Resources of the PLA Software Test and Evaluation Centre for Military Training were used in this research.

References

[1] H. Okamura et al. Estimating mixed software reliability models based on the EM algorithm [C] . Proc. of the 2002 Int.

Symposiumon Empirical Software Engineering , 2002 :69-78

[2] H. Okamura, A. Murayama, T. Dohi. EM algorithm for Discrete Software Reliability Models: A Unified Parameter

Estimation Method[C]. Proceedings of the Eighth IEEE International Symposium on High Assurance Systems Engineering.

2004:1530-2059

[3] T. Ando, H. Okamura, T. Dohi. Estimating Markov Modulated Software Reliability Models via EM Algorithm[C].

Proceedings of the 2nd IEEE International Symposium on Dependable, Autonomic and Secure Computing. 2006

[4] T. Minohara and Y. Tohma, Parameter Estimation of Hyper-Geometric Distribution Software Reliability Growth Model by

Genetic Algorithms[C], Proceedings of the 6th IEEE International Symposium on Software Reliability Engineering (ISSRE 1995),

pp. 324-329, Toulouse, France, 1995.

[5] ZHANG Ke- han, LI Ai - guo, SONG Bao- wei. Estimating parameters of software reliability models using PSO. Computer

Engineering and Applications, 2008, 44( 11) : 47- 49.

[6] A Coloni, M Dorigo and V Maniezzo. Ant system: Optimization by a colony of cooperating agent[J]. IEEE Trans. Systems.

Man and Cybemet-ics-Part B: Cybemetics. 1996, 26(1):29-41

[7] Lyu M R. Handbook of software reliability engineering[M]. New York: Mc Graw-Hill and IEEE Computer Society Press,

1996.