Skip to content
Related Articles
Open in App
Not now

Related Articles

Software Engineering | Jelinski Moranda software reliability model

Improve Article
Save Article
  • Difficulty Level : Hard
  • Last Updated : 08 Oct, 2018
Improve Article
Save Article

The Jelinski-Moranda (J-M) model is one of the earliest software reliability models. Many existing software reliability models are variants or extensions of this basic model.

The assumptions in this model include the following:

  1. The program contains N initial faults which is an unknown but fixed constant.
  2. Each fault in the program is independent and equally likely to cause a failure during a test.
  3. Time intervals between occurrences of failure are independent of each other.
  4. Whenever a failure occurs, a corresponding fault is removed with certainty.
  5. The fault that causes a failure is assumed to be instantaneously removed, and no new faults are inserted during the removal of the detected fault.
  6. The software failure rate during a failure interval is constant and is proportional to the number of faults remaining in the program.

The program failure rate at the ith failure interval is given by,

    $$  \lambda (t_i)= \phi [N-(i-1)], \; \; i=1, 2, ..., N$$

$\phi $ = a proportional constant, the contribution any one fault makes to the overall program
N = the number of initial faults in the program
$t_i$ = the time between the $(i-1)^{th}$ and the $(i)^{th}$ failures.

For example, the initial failure intensity is

    $$\lambda (t_1)=\phi N$$

and after the first failure, the failure intensity decreases to

    $$\lambda (t_2)=\phi (N-1)$$

and so on.
The partial distribution function(pdf) of $t_i$ is

    $$f(t_i)=\phi [N-(i-1)]e^{-\phi (N-(i-1))t_i}$$

The cumulative distribution function(cdf) of $t_i$ is

    $$F(t_i)=1- e^{-\phi [N-(i-1)]t_i}$$

The software reliability function is, therefore,

    $$R(t_i)=e^{-\phi (N-i+1)t_i}$$

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!