Software Engineering | Jelinski Moranda software reliability model

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}$$

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using or mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :


Please write to us at to report any issue with the above content.