JELINSKI-MORANDA (JM)

M.Ramya

 Jelinski–Moranda (JM) Model in Software Reliability

The Jelinski–Moranda (JM) Model is one of the earliest and most influential software reliability models. Built on a Markov process foundation, it has inspired numerous later models that either refine or extend its basic assumptions.

1. Overview of the JM Model

The JM model is a binomial-type, black-box reliability model. Despite its simplicity, it often produces overly optimistic predictions about software reliability. A key feature is its perfect debugging assumption—every detected fault is removed completely without introducing new ones.

The software failure rate at the i-th failure interval is defined as:

𝜆(𝑡𝑖)=𝜑[−(𝑖−1)],𝑖=1,2,…,𝑁λ(ti)=φ[N−(i−1)],i=1,2,…,N

Where:
  • ϕ = constant of proportionality (failure rate contributed by each fault)
  • N = initial number of software faults
  • tᵢ = time between the (i−1)-th and i-th failure
2. Core Reliability Functions of the JM Model

The mean value and failure intensity functions are:

𝜇(𝑡𝑖)=𝑁(1−𝑒−𝜑𝑡𝑖)μ(ti)=N(1−e−φti)

          ε(𝑡𝑖)=𝑁𝜑𝑒−𝜑𝑡𝑖ε(ti)=Nφe−φti

Summary of Reliability Measures

3. Assumptions of the JM Model

  • The initial number of errors (N) is unknown but fixed.
  • All errors are independent and equally likely to cause a failure.
  • Time between failures follows an exponential distribution.
  • The failure rate is proportional to the number of remaining faults.
  • Perfect debugging: no new faults are introduced during removal.

4. Variations of the JM Model

Over time, researchers have modified the JM model to address its limitations, such as imperfect debugging, multiple bug removals, and Bayesian adjustments.




4.1 Lipow Modified JM Geometric Model

Allows multiple bug removals in one interval:

𝜆(𝑡𝑖)=−1λ(ti)=DKni−1
4.2 Sukert Modified Schick–Wolverton Model

Extends the S–W model to allow multiple failures in an interval.

4.3 Schick–Wolverton (S–W) Model

Failure rate increases with time since last debugging:

𝜆(𝑡𝑖)=𝜑[𝑁−(𝑖−1)]𝑡𝑖λ(ti)=φ[N−(i−1)]ti
4.4 GO Imperfect Debugging Model (Goel–Okumoto)

Faults removed with probability p:

𝜆(𝑡𝑖)=φ[𝑁−𝑝(𝑖−1)]

4.5 JM Geometric Model

Failure rate reduces geometrically over failures:

𝜆(𝑡𝑖)=𝐷𝐾𝑖−1,0<𝐾<1λ(ti)=DKi−1,0<K<1

4.6 Little–Verrall Bayesian Model

Uses a Bayesian prior gamma distribution to account for programmer quality and task difficulty.

4.7 Shanthikumar General Markov Model

Failure intensity:

𝜆𝑆𝐺(𝑛,𝑡)=Ψ(t)(𝑁0−𝑛)λSG(n,t)=Ψ(t)(N0-n)

4.8 Error Detection Model During Development

Incorporates program growth during development.

4.9 Langberg–Singpurwalla Model

A Bayesian view linking reliability to shock models.

4.10 Jewell Bayesian Model

Generalizes the number of faults using a Poisson-Beta distribution.

4.11 Quantum Modification

Accounts for different fault severities using failure quantum units.

4.12 Optimal Software Release (Markovian)

Optimizes release policy by including testing time wastage.

4.13 Cloud Model Modification

Introduces a new parameter θ with confidence intervals for reliability evaluation.

4.14 Modified JM Model with Imperfect Debugging

Considers three outcomes after a failure:
  • Fault removed successfully (p)
  • Fault not removed (q)
  • New fault introduced (r)
with 𝑝+𝑞+𝑟=1p+q+r=1 and 𝑞≥𝑟q≥r.

Key formulas:

5. Key Takeaways
  • JM Model is the foundation of many Software Reliability Growth Models (SRGMs).
  • Its perfect debugging assumption makes it simpler but less realistic.
  • Variation handle imperfect debugging, multiple failures, and Bayesian uncertainty.
  • It remains a benchmark model for studying software reliability trends.
Our website uses cookies to enhance your experience. Learn More
Accept !

GocourseAI

close
send