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

This article is attributed to GeeksforGeeks.org

You Might Also Like

leave a comment



load comments

Subscribe to Our Newsletter