Open In App

Jelinski Moranda software reliability model – Software Engineering

The Jelinski-Moranda Software Reliability Model is a mathematical model used to predict the reliability of software systems. It was developed by M.A. Jelinski and P.A. Moranda in 1972 and is based on the assumption that the rate of software failures follows a non-homogeneous Poisson process.

The Jelinski-Moranda (JM) software reliability model is a mathematical model used to predict the reliability of a software system over time. The model assumes that the software system can be represented as a series of independent components, each with its own failure rate. The failure rate of each component is assumed to be constant over time.



The model assumes that software failures occur randomly over time and that the probability of failure decreases as the number of defects in the software is reduced.



The Jelinski-Moranda model uses an exponential distribution to model the rate of fault detection and assumes that the fault detection rate is proportional to the number of remaining faults in the software. The model can be used to predict the number of remaining faults in the software and to estimate the time required to achieve the desired level of reliability.

Assumptions Based on Jelinski-Moranda Model

One limitation of the Jelinski-Moranda model is that it assumes a constant fault detection rate, which may not be accurate in practice. Additionally, the model does not take into account factors such as software complexity, hardware reliability, or user behavior, which can also affect the reliability of the software system.

Overall, the Jelinski-Moranda model is a useful tool for predicting software reliability, but it should be used in conjunction with other techniques and methods for software testing and quality assurance.

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 program failure rate at the ith failure interval is given by, $$ \lambda (t_i)= \phi [N-(i-1)], \; \; i=1, 2, …, N$$ where $\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}$$.

The JM model uses the following equation to calculate the software reliability at a given time t:

R(t) = R(0) * exp(-λt)

where R(t) is the reliability of the software system at time t, R(0) is the initial reliability of the software system, λ is the failure rate of the system, and t is the time elapsed since the software was first put into operation.

Purpose of Jelinski Moranda Software Reliability Model

Characteristics of the Jelinski Moranda Model

Some of the characteristics of the Jelinski Moranda Model are listed below.

Some other characteristics are shown in the table.

Measures of Reliability

Formula

Software Reliability Function

R(ti)= e-ϕ[N-(i-1)]ti

Mean value Function

µ(ti )=N(1-e-ϕti)

Median

m={ϕ[N-(i-1)]} -1 In2

Probability Density Function

f(ti)= ϕ[N-(i-1]e-ϕ[N-(i-1)]ti

Failure Rate Function

λ(ti)= ϕ[N-(i-1)]

Failure Intensity Function

€(ti )=Nϕe-ϕti
Cumulative Distributive Function

f(ti)=1-e-ϕ[N-(i-1)]ti

Variations in Jelinski-Moranda Model

JM Model is one of the first software reliability models. Different Researchers try to modify this model with respect to different parameters. Here are some of the parameters listed below.

Advantages of the Jelinski-Moranda (JM) Software Reliability Model

Disadvantages of the Jelinski-Moranda (JM) Software Reliability Model

Future Developments

Questions For Practice

1. In the Jelinski-Moranda Model, the software fault detection rate is assumed to be:

(A) Constant over time

(B) Decreasing over time

(C) Increasing over time

(D) Randomly fluctuating

Solution: Correct Answer is (A).

2. In the Jelinski-Moranda Model, as the software testing progresses, the number of faults is expected to:

(A) Increase

(B) Decrease

(C) Remain constant

(D) Fluctuate randomly

Solution: Correct Answer is (B).

3. The Jelinski-Moranda Model is based on which of the following assumptions?

(A) The number of faults detected is proportional to the number of faults remaining

(B) The fault detection rate remains constant over time

(C) The software development process is error-free

(D) The model requires no historical data for calibration

Solution: Correct Answer is (A).

FAQ’s

1. Tell me the way, how Software Reliability is estimated in Jelinski Moranda Model?

Answer:

This model estimates software reliability by observing historical data on defect detection and removal of these defects at the time of testing.

2. List some limitations of the Jelinski Moranda Model?

Answer:

The limitations of the Jelinski Moranda Model are listed below.

It assumes a constant defect arrival rate, which is not true for all of the projects.

3. How can we best use the Jenlinski Moranda Model?

Answer:

The best practice to use Jelinski Moranda Model is to regularly update the defect data, checking model prediction against the data provided. In this way, it is best used.


Article Tags :