SlideShare a Scribd company logo
1 of 60
Download to read offline
A Parametric Empirical Bayes Model to predict Software Reliability Growth
A Parametric Empirical Bayes Model to
predict Software Reliability Growth
Néstor R. Barraza
nbarraza@untref.edu.ar
March - 2015
Universidad Nacional de Tres de Febrero
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Contents
1 Software Reliability
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Contents
1 Software Reliability
2 Software Reliability Growth Models
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Contents
1 Software Reliability
2 Software Reliability Growth Models
3 Poisson Processes
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Contents
1 Software Reliability
2 Software Reliability Growth Models
3 Poisson Processes
4 Empirical Bayes Estimator
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Contents
1 Software Reliability
2 Software Reliability Growth Models
3 Poisson Processes
4 Empirical Bayes Estimator
5 Simulation
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Contents
1 Software Reliability
2 Software Reliability Growth Models
3 Poisson Processes
4 Empirical Bayes Estimator
5 Simulation
6 Conclusions
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Contents
1 Software Reliability
2 Software Reliability Growth Models
3 Poisson Processes
4 Empirical Bayes Estimator
5 Simulation
6 Conclusions
7 Bibliography
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Software Reliability
Software Development (waterfall, agile sprint)
Quality:
Standards
ISO-IEC 9126 (1991)
ISO-IEC 14598 (1995)
ISO-IEC 15504 (1998)
CMMI (1991)
Analysis
Reliability
Metrics
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Software Reliability
Software Reliability (waterfall, agile sprint).
Models
Growth Models
Markov Chains
Clusters
...
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Software Reliability
Software Reliability Growth
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Software Reliability
Software Reliability Growth
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Software Reliability Growth Models
Independent Increments Stochastic process P(N(t) = n).
Remaining number of failures µ(t, s) = E[N(s)|N(t)].
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Software Reliability Growth Models
Non homogeneous Poisson Process
P((N(s) − N(t)) = n) =
µ(t, s)n
n!
e−µ(t,s)
µ(t, 0) = a(1 − e−bt
) Goel − Okumoto
µ(t, 0) =
1
θ
ln(µ0θt + 1) Musa − Okumoto
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Software Reliability Growth Models
Other Models
Model µ(t, 0)
Delayed S-shaped a(1 − (1 + b t)e−b t )
Log Power α lnβ
(1 + t)
Gomperts a(bct
)
Yamada Exponential a(1 − e−b c (1−e(−d t)))
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Poisson Processes
Compound Poisson Process
P(N(t) = n) =
m
k=1
(λ t)k
k!
e−λt
f∗k
(X1 + X2 + · · · + Xk = n)
E[N(t)] = λ t E[X]
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
Empirical Bayes Estimator
Estimate a binary probability based on a previous number of
occurrences. Applications:
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
Empirical Bayes Estimator
Estimate a binary probability based on a previous number of
occurrences. Applications:
Speech recognition
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
Empirical Bayes Estimator
Estimate a binary probability based on a previous number of
occurrences. Applications:
Speech recognition
Word processing
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
Empirical Bayes Estimator
Estimate a binary probability based on a previous number of
occurrences. Applications:
Speech recognition
Word processing
Arithmetic compression
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
Empirical Bayes Estimator
Estimate a binary probability based on a previous number of
occurrences. Applications:
Speech recognition
Word processing
Arithmetic compression
Reliability
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
Empirical Bayes Estimator
Try to estimate the probability of success θ, given n samples with
r successful events.
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
Empirical Bayes Estimator
Try to estimate the probability of success θ, given n samples with
r successful events.
Maximum likelihood: ˆθ = r
n
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
Empirical Bayes Estimator
Try to estimate the probability of success θ, given n samples with
r successful events.
Maximum likelihood: ˆθ = r
n → Problems when r = 0
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
Empirical Bayes Estimator
Try to estimate the probability of success θ, given n samples with
r successful events.
Maximum likelihood: ˆθ = r
n → Problems when r = 0
Smoothing ˆθ = r+a
n+b
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
Family of estimators
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
Family of estimators
Laplace law of succession ˆθ = r+1
n+2
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
Family of estimators
Laplace law of succession ˆθ = r+1
n+2
Lidstone law ˆθ = r+b
n+s b
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
Family of estimators
Laplace law of succession ˆθ = r+1
n+2
Lidstone law ˆθ = r+b
n+s b
Good-Turing ˆθ = r+1
n
Nr
Nr+1
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
Family of estimators
Laplace law of succession ˆθ = r+1
n+2
Lidstone law ˆθ = r+b
n+s b
Good-Turing ˆθ = r+1
n
Nr
Nr+1
Discount ˆθ = r−b
n
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
Family of estimators
Laplace law of succession ˆθ = r+1
n+2
Lidstone law ˆθ = r+b
n+s b
Good-Turing ˆθ = r+1
n
Nr
Nr+1
Discount ˆθ = r−b
n
New approach, to introduce a non linear function of
r: ˆθ = f(r)
n
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
P(r/λ) =
λr
r!
e−λ
. (1)
θ =
λ
n
(2)
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
ˆθ =
ˆλ
n
=
E[λ|r]
n
(3)
ˆθ =
1
n
λλr
r! e−λdS(λ)
λr
r! e−λdS(λ)
=
r + 1
n
P(r + 1)
P(r)
(4)
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
θ: Probability of failure occurrence
r : The number of failures up to time n
P(r): Prior probability of the number of failures
Reliability Growth → A decreasing probability of failure θ
ˆθ = r+1
n
> 1
P(r+1)
P(r)
n
r
r
P(r)
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
θ: Probability of failure occurrence
r : The number of failures up to time n
P(r): Prior probability of the number of failures
Reliability Growth → A decreasing probability of failure θ
ˆθ = r+1
n
> 1> 1
P(r+1)
P(r)
P(r+1)
P(r)
n
r
r
P(r)
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Empirical Bayes Estimator
θ: Probability of failure occurrence
r : The number of failures up to time n
P(r): Prior probability of the number of failures
Reliability Growth → A decreasing probability of failure θ
ˆθ = r+1
n
> 1< 1
P(r+1)
P(r)
P(r+1)
P(r)
n
r
r
P(r)
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Simulation
Simulation procedure
s ← initial count of seconds
r ← initial number of failures
for i = s to the total testing time do
p =
r + 1
i
P(r + 1)
P(r)
{Estimate the probability of failure}
GENERATE a failure with probability p
if a failure arrived then
r ← r + 1
end if
print number of arrived failures r and seconds i
end for
(Failure generation code)
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Simulation
5,000,000 10,000,000 15,000,000
10
20
30
40
secs
Number of failures
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Simulation
5,000,000 10,000,000 15,000,000
10
20
30
40
secs
Number of failures
ˆθ0 = r0+1
n0
P(r0+1)
P(r0)
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Simulation
5,000,000 10,000,000 15,000,000
10
20
30
40
secs
Number of failures
ˆθ0 = r0+1
n0
P(r0+1)
P(r0)
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Simulation
5,000,000 10,000,000 15,000,000
20
40
60
80
100
120
secs
Number of failures
Actual Data
Simulation
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Simulation
5,000,000 10,000,000 15,000,000
20
40
60
80
100
120
secs
Number of failures
Actual Data
SimulationSimulation
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Simulation
Same Mixing Distribution
Different Starting Points
5,000,000 10,000,000 15,000,000
20
40
60
80
100
120
secs
Number of failures
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Simulation
Same Mixing Distribution
Different Starting Points
5,000,000 10,000,000 15,000,000
20
40
60
80
100
120
secs
Number of failures
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Simulation
Same Mixing Distribution
Different Starting Points
5,000,000 10,000,000 15,000,000
20
40
60
80
100
120
secs
Number of failures
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Simulation
Same Mixing Distribution
Different Starting Points
5,000,000 10,000,000 15,000,000
20
40
60
80
100
120
secs
Number of failures
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Simulation
SS1 Project
0 20 40 60 80 100 120
0
2
4
6
·105
Failure Number
MeanTimeBetweenFailures(Secs)
+ + Actual Data
ML
Our Model
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Simulation
SS1 Project
0 20 40 60 80 100 120
0
2
4
6
·105
Failure Number
MeanTimeBetweenFailures(Secs)
+ + Actual Data
MLML
Our Model
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Simulation
SS1 Project
0 20 40 60 80 100 120
0
2
4
6
·105
Failure Number
MeanTimeBetweenFailures(Secs)
+ + Actual Data
MLML
Our ModelOur Model
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Simulation
Naval Tactical Data System
5 10 15 20 25 30
0
50
100
Failure Number
MeanTimeBetweenFailures(Days)
Actual Data
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Simulation
Naval Tactical Data System
5 10 15 20 25 30
0
50
100
Failure Number
MeanTimeBetweenFailures(Days)
Actual Data
Mazzuchi Model I
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Simulation
Naval Tactical Data System
5 10 15 20 25 30
0
50
100
Failure Number
MeanTimeBetweenFailures(Days)
Actual Data
Mazzuchi Model I
Mazzuchi Model II
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Simulation
Naval Tactical Data System
5 10 15 20 25 30
0
50
100
Failure Number
MeanTimeBetweenFailures(Days)
Actual Data
Mazzuchi Model I
Mazzuchi Model II
Our Model
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Conclusions
Conclusions
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Conclusions
Conclusions
A new method in order to predict software failures
production was proposed.
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Conclusions
Conclusions
A new method in order to predict software failures
production was proposed.
This method is based on The Empirical Bayes estimator
usually used in other areas of Engineering.
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Conclusions
Conclusions
A new method in order to predict software failures
production was proposed.
This method is based on The Empirical Bayes estimator
usually used in other areas of Engineering.
In order to model reliability growth, a specially smoothing
nonlinear factor was introduced in the estimate.
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Conclusions
Conclusions
A new method in order to predict software failures
production was proposed.
This method is based on The Empirical Bayes estimator
usually used in other areas of Engineering.
In order to model reliability growth, a specially smoothing
nonlinear factor was introduced in the estimate.
This factor comes from a mixed Poisson distribution.
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Conclusions
Conclusions
A new method in order to predict software failures
production was proposed.
This method is based on The Empirical Bayes estimator
usually used in other areas of Engineering.
In order to model reliability growth, a specially smoothing
nonlinear factor was introduced in the estimate.
This factor comes from a mixed Poisson distribution.
A simulation of the cumulative failures curve using a
Poisson mixed by a Generalized Inverse Gaussian
probability density function has been performed with good
agreement with reported data.
A Parametric Empirical Bayes Model to predict Software Reliability Growth
Bibliography
Bibliography

More Related Content

Similar to slides

COSCUP - Open Source Engines Providing Big Data in the Cloud, Markku Lepisto
COSCUP - Open Source Engines Providing Big Data in the Cloud, Markku LepistoCOSCUP - Open Source Engines Providing Big Data in the Cloud, Markku Lepisto
COSCUP - Open Source Engines Providing Big Data in the Cloud, Markku Lepisto
Amazon Web Services
 
Revolution Analytics
Revolution AnalyticsRevolution Analytics
Revolution Analytics
templedf
 
Statistical Analysis and Data Analysis using R Programming Language: Efficien...
Statistical Analysis and Data Analysis using R Programming Language: Efficien...Statistical Analysis and Data Analysis using R Programming Language: Efficien...
Statistical Analysis and Data Analysis using R Programming Language: Efficien...
BRNSSPublicationHubI
 

Similar to slides (20)

Jaiio2010presentation
Jaiio2010presentationJaiio2010presentation
Jaiio2010presentation
 
Predictive Testing
Predictive TestingPredictive Testing
Predictive Testing
 
Pareto Type II Based Software Reliability Growth Model
Pareto Type II Based Software Reliability Growth ModelPareto Type II Based Software Reliability Growth Model
Pareto Type II Based Software Reliability Growth Model
 
Introduction to Bayesian Inference
Introduction to Bayesian InferenceIntroduction to Bayesian Inference
Introduction to Bayesian Inference
 
Measuring Agile Software Development
Measuring Agile Software DevelopmentMeasuring Agile Software Development
Measuring Agile Software Development
 
R Programming - part 1.pdf
R Programming - part 1.pdfR Programming - part 1.pdf
R Programming - part 1.pdf
 
Sat rday
Sat rdaySat rday
Sat rday
 
Naive.pdf
Naive.pdfNaive.pdf
Naive.pdf
 
A Fast Flowgraph Based Classification System for Packed and Polymorphic Malwa...
A Fast Flowgraph Based Classification System for Packed and Polymorphic Malwa...A Fast Flowgraph Based Classification System for Packed and Polymorphic Malwa...
A Fast Flowgraph Based Classification System for Packed and Polymorphic Malwa...
 
Data Analysis - Making Big Data Work
Data Analysis - Making Big Data WorkData Analysis - Making Big Data Work
Data Analysis - Making Big Data Work
 
COSCUP - Open Source Engines Providing Big Data in the Cloud, Markku Lepisto
COSCUP - Open Source Engines Providing Big Data in the Cloud, Markku LepistoCOSCUP - Open Source Engines Providing Big Data in the Cloud, Markku Lepisto
COSCUP - Open Source Engines Providing Big Data in the Cloud, Markku Lepisto
 
Revolution Analytics
Revolution AnalyticsRevolution Analytics
Revolution Analytics
 
Linear, Machine Learning or Probabilistic Predictive Models: What's Best for ...
Linear, Machine Learning or Probabilistic Predictive Models: What's Best for ...Linear, Machine Learning or Probabilistic Predictive Models: What's Best for ...
Linear, Machine Learning or Probabilistic Predictive Models: What's Best for ...
 
estimation(Risk).ppt
estimation(Risk).pptestimation(Risk).ppt
estimation(Risk).ppt
 
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE MethodParameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
 
Software Horticulture
Software HorticultureSoftware Horticulture
Software Horticulture
 
Statistical Analysis and Data Analysis using R Programming Language: Efficien...
Statistical Analysis and Data Analysis using R Programming Language: Efficien...Statistical Analysis and Data Analysis using R Programming Language: Efficien...
Statistical Analysis and Data Analysis using R Programming Language: Efficien...
 
Debug me
Debug meDebug me
Debug me
 
Mining Stack Overflow to Tun the IDE into a Self-confident Programming Prompter
Mining Stack Overflow to Tun the IDE into a Self-confident Programming PrompterMining Stack Overflow to Tun the IDE into a Self-confident Programming Prompter
Mining Stack Overflow to Tun the IDE into a Self-confident Programming Prompter
 
Chapter two
Chapter twoChapter two
Chapter two
 

slides

  • 1. A Parametric Empirical Bayes Model to predict Software Reliability Growth A Parametric Empirical Bayes Model to predict Software Reliability Growth Néstor R. Barraza nbarraza@untref.edu.ar March - 2015 Universidad Nacional de Tres de Febrero
  • 2. A Parametric Empirical Bayes Model to predict Software Reliability Growth Contents 1 Software Reliability
  • 3. A Parametric Empirical Bayes Model to predict Software Reliability Growth Contents 1 Software Reliability 2 Software Reliability Growth Models
  • 4. A Parametric Empirical Bayes Model to predict Software Reliability Growth Contents 1 Software Reliability 2 Software Reliability Growth Models 3 Poisson Processes
  • 5. A Parametric Empirical Bayes Model to predict Software Reliability Growth Contents 1 Software Reliability 2 Software Reliability Growth Models 3 Poisson Processes 4 Empirical Bayes Estimator
  • 6. A Parametric Empirical Bayes Model to predict Software Reliability Growth Contents 1 Software Reliability 2 Software Reliability Growth Models 3 Poisson Processes 4 Empirical Bayes Estimator 5 Simulation
  • 7. A Parametric Empirical Bayes Model to predict Software Reliability Growth Contents 1 Software Reliability 2 Software Reliability Growth Models 3 Poisson Processes 4 Empirical Bayes Estimator 5 Simulation 6 Conclusions
  • 8. A Parametric Empirical Bayes Model to predict Software Reliability Growth Contents 1 Software Reliability 2 Software Reliability Growth Models 3 Poisson Processes 4 Empirical Bayes Estimator 5 Simulation 6 Conclusions 7 Bibliography
  • 9. A Parametric Empirical Bayes Model to predict Software Reliability Growth Software Reliability Software Development (waterfall, agile sprint) Quality: Standards ISO-IEC 9126 (1991) ISO-IEC 14598 (1995) ISO-IEC 15504 (1998) CMMI (1991) Analysis Reliability Metrics
  • 10. A Parametric Empirical Bayes Model to predict Software Reliability Growth Software Reliability Software Reliability (waterfall, agile sprint). Models Growth Models Markov Chains Clusters ...
  • 11. A Parametric Empirical Bayes Model to predict Software Reliability Growth Software Reliability Software Reliability Growth
  • 12. A Parametric Empirical Bayes Model to predict Software Reliability Growth Software Reliability Software Reliability Growth
  • 13. A Parametric Empirical Bayes Model to predict Software Reliability Growth Software Reliability Growth Models Independent Increments Stochastic process P(N(t) = n). Remaining number of failures µ(t, s) = E[N(s)|N(t)].
  • 14. A Parametric Empirical Bayes Model to predict Software Reliability Growth Software Reliability Growth Models Non homogeneous Poisson Process P((N(s) − N(t)) = n) = µ(t, s)n n! e−µ(t,s) µ(t, 0) = a(1 − e−bt ) Goel − Okumoto µ(t, 0) = 1 θ ln(µ0θt + 1) Musa − Okumoto
  • 15. A Parametric Empirical Bayes Model to predict Software Reliability Growth Software Reliability Growth Models Other Models Model µ(t, 0) Delayed S-shaped a(1 − (1 + b t)e−b t ) Log Power α lnβ (1 + t) Gomperts a(bct ) Yamada Exponential a(1 − e−b c (1−e(−d t)))
  • 16. A Parametric Empirical Bayes Model to predict Software Reliability Growth Poisson Processes Compound Poisson Process P(N(t) = n) = m k=1 (λ t)k k! e−λt f∗k (X1 + X2 + · · · + Xk = n) E[N(t)] = λ t E[X]
  • 17. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator Empirical Bayes Estimator Estimate a binary probability based on a previous number of occurrences. Applications:
  • 18. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator Empirical Bayes Estimator Estimate a binary probability based on a previous number of occurrences. Applications: Speech recognition
  • 19. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator Empirical Bayes Estimator Estimate a binary probability based on a previous number of occurrences. Applications: Speech recognition Word processing
  • 20. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator Empirical Bayes Estimator Estimate a binary probability based on a previous number of occurrences. Applications: Speech recognition Word processing Arithmetic compression
  • 21. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator Empirical Bayes Estimator Estimate a binary probability based on a previous number of occurrences. Applications: Speech recognition Word processing Arithmetic compression Reliability
  • 22. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator Empirical Bayes Estimator Try to estimate the probability of success θ, given n samples with r successful events.
  • 23. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator Empirical Bayes Estimator Try to estimate the probability of success θ, given n samples with r successful events. Maximum likelihood: ˆθ = r n
  • 24. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator Empirical Bayes Estimator Try to estimate the probability of success θ, given n samples with r successful events. Maximum likelihood: ˆθ = r n → Problems when r = 0
  • 25. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator Empirical Bayes Estimator Try to estimate the probability of success θ, given n samples with r successful events. Maximum likelihood: ˆθ = r n → Problems when r = 0 Smoothing ˆθ = r+a n+b
  • 26. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator Family of estimators
  • 27. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator Family of estimators Laplace law of succession ˆθ = r+1 n+2
  • 28. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator Family of estimators Laplace law of succession ˆθ = r+1 n+2 Lidstone law ˆθ = r+b n+s b
  • 29. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator Family of estimators Laplace law of succession ˆθ = r+1 n+2 Lidstone law ˆθ = r+b n+s b Good-Turing ˆθ = r+1 n Nr Nr+1
  • 30. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator Family of estimators Laplace law of succession ˆθ = r+1 n+2 Lidstone law ˆθ = r+b n+s b Good-Turing ˆθ = r+1 n Nr Nr+1 Discount ˆθ = r−b n
  • 31. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator Family of estimators Laplace law of succession ˆθ = r+1 n+2 Lidstone law ˆθ = r+b n+s b Good-Turing ˆθ = r+1 n Nr Nr+1 Discount ˆθ = r−b n New approach, to introduce a non linear function of r: ˆθ = f(r) n
  • 32. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator P(r/λ) = λr r! e−λ . (1) θ = λ n (2)
  • 33. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator ˆθ = ˆλ n = E[λ|r] n (3) ˆθ = 1 n λλr r! e−λdS(λ) λr r! e−λdS(λ) = r + 1 n P(r + 1) P(r) (4)
  • 34. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator θ: Probability of failure occurrence r : The number of failures up to time n P(r): Prior probability of the number of failures Reliability Growth → A decreasing probability of failure θ ˆθ = r+1 n > 1 P(r+1) P(r) n r r P(r)
  • 35. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator θ: Probability of failure occurrence r : The number of failures up to time n P(r): Prior probability of the number of failures Reliability Growth → A decreasing probability of failure θ ˆθ = r+1 n > 1> 1 P(r+1) P(r) P(r+1) P(r) n r r P(r)
  • 36. A Parametric Empirical Bayes Model to predict Software Reliability Growth Empirical Bayes Estimator θ: Probability of failure occurrence r : The number of failures up to time n P(r): Prior probability of the number of failures Reliability Growth → A decreasing probability of failure θ ˆθ = r+1 n > 1< 1 P(r+1) P(r) P(r+1) P(r) n r r P(r)
  • 37. A Parametric Empirical Bayes Model to predict Software Reliability Growth Simulation Simulation procedure s ← initial count of seconds r ← initial number of failures for i = s to the total testing time do p = r + 1 i P(r + 1) P(r) {Estimate the probability of failure} GENERATE a failure with probability p if a failure arrived then r ← r + 1 end if print number of arrived failures r and seconds i end for (Failure generation code)
  • 38. A Parametric Empirical Bayes Model to predict Software Reliability Growth Simulation 5,000,000 10,000,000 15,000,000 10 20 30 40 secs Number of failures
  • 39. A Parametric Empirical Bayes Model to predict Software Reliability Growth Simulation 5,000,000 10,000,000 15,000,000 10 20 30 40 secs Number of failures ˆθ0 = r0+1 n0 P(r0+1) P(r0)
  • 40. A Parametric Empirical Bayes Model to predict Software Reliability Growth Simulation 5,000,000 10,000,000 15,000,000 10 20 30 40 secs Number of failures ˆθ0 = r0+1 n0 P(r0+1) P(r0)
  • 41. A Parametric Empirical Bayes Model to predict Software Reliability Growth Simulation 5,000,000 10,000,000 15,000,000 20 40 60 80 100 120 secs Number of failures Actual Data Simulation
  • 42. A Parametric Empirical Bayes Model to predict Software Reliability Growth Simulation 5,000,000 10,000,000 15,000,000 20 40 60 80 100 120 secs Number of failures Actual Data SimulationSimulation
  • 43. A Parametric Empirical Bayes Model to predict Software Reliability Growth Simulation Same Mixing Distribution Different Starting Points 5,000,000 10,000,000 15,000,000 20 40 60 80 100 120 secs Number of failures
  • 44. A Parametric Empirical Bayes Model to predict Software Reliability Growth Simulation Same Mixing Distribution Different Starting Points 5,000,000 10,000,000 15,000,000 20 40 60 80 100 120 secs Number of failures
  • 45. A Parametric Empirical Bayes Model to predict Software Reliability Growth Simulation Same Mixing Distribution Different Starting Points 5,000,000 10,000,000 15,000,000 20 40 60 80 100 120 secs Number of failures
  • 46. A Parametric Empirical Bayes Model to predict Software Reliability Growth Simulation Same Mixing Distribution Different Starting Points 5,000,000 10,000,000 15,000,000 20 40 60 80 100 120 secs Number of failures
  • 47. A Parametric Empirical Bayes Model to predict Software Reliability Growth Simulation SS1 Project 0 20 40 60 80 100 120 0 2 4 6 ·105 Failure Number MeanTimeBetweenFailures(Secs) + + Actual Data ML Our Model
  • 48. A Parametric Empirical Bayes Model to predict Software Reliability Growth Simulation SS1 Project 0 20 40 60 80 100 120 0 2 4 6 ·105 Failure Number MeanTimeBetweenFailures(Secs) + + Actual Data MLML Our Model
  • 49. A Parametric Empirical Bayes Model to predict Software Reliability Growth Simulation SS1 Project 0 20 40 60 80 100 120 0 2 4 6 ·105 Failure Number MeanTimeBetweenFailures(Secs) + + Actual Data MLML Our ModelOur Model
  • 50. A Parametric Empirical Bayes Model to predict Software Reliability Growth Simulation Naval Tactical Data System 5 10 15 20 25 30 0 50 100 Failure Number MeanTimeBetweenFailures(Days) Actual Data
  • 51. A Parametric Empirical Bayes Model to predict Software Reliability Growth Simulation Naval Tactical Data System 5 10 15 20 25 30 0 50 100 Failure Number MeanTimeBetweenFailures(Days) Actual Data Mazzuchi Model I
  • 52. A Parametric Empirical Bayes Model to predict Software Reliability Growth Simulation Naval Tactical Data System 5 10 15 20 25 30 0 50 100 Failure Number MeanTimeBetweenFailures(Days) Actual Data Mazzuchi Model I Mazzuchi Model II
  • 53. A Parametric Empirical Bayes Model to predict Software Reliability Growth Simulation Naval Tactical Data System 5 10 15 20 25 30 0 50 100 Failure Number MeanTimeBetweenFailures(Days) Actual Data Mazzuchi Model I Mazzuchi Model II Our Model
  • 54. A Parametric Empirical Bayes Model to predict Software Reliability Growth Conclusions Conclusions
  • 55. A Parametric Empirical Bayes Model to predict Software Reliability Growth Conclusions Conclusions A new method in order to predict software failures production was proposed.
  • 56. A Parametric Empirical Bayes Model to predict Software Reliability Growth Conclusions Conclusions A new method in order to predict software failures production was proposed. This method is based on The Empirical Bayes estimator usually used in other areas of Engineering.
  • 57. A Parametric Empirical Bayes Model to predict Software Reliability Growth Conclusions Conclusions A new method in order to predict software failures production was proposed. This method is based on The Empirical Bayes estimator usually used in other areas of Engineering. In order to model reliability growth, a specially smoothing nonlinear factor was introduced in the estimate.
  • 58. A Parametric Empirical Bayes Model to predict Software Reliability Growth Conclusions Conclusions A new method in order to predict software failures production was proposed. This method is based on The Empirical Bayes estimator usually used in other areas of Engineering. In order to model reliability growth, a specially smoothing nonlinear factor was introduced in the estimate. This factor comes from a mixed Poisson distribution.
  • 59. A Parametric Empirical Bayes Model to predict Software Reliability Growth Conclusions Conclusions A new method in order to predict software failures production was proposed. This method is based on The Empirical Bayes estimator usually used in other areas of Engineering. In order to model reliability growth, a specially smoothing nonlinear factor was introduced in the estimate. This factor comes from a mixed Poisson distribution. A simulation of the cumulative failures curve using a Poisson mixed by a Generalized Inverse Gaussian probability density function has been performed with good agreement with reported data.
  • 60. A Parametric Empirical Bayes Model to predict Software Reliability Growth Bibliography Bibliography