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.
Assumptions:
The assumptions in this model include the following:
- The program contains N initial faults which is an unknown but fixed constant.
- Each fault in the program is independent and equally likely to cause a failure during a test.
- Time intervals between occurrences of failure are independent of each other.
- Whenever a failure occurs, a corresponding fault is removed with certainty.
- 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.
- 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,
![]()
where
= a proportional constant, the contribution any one fault makes to the overall program
N = the number of initial faults in the program
= the time between the
and the
failures.
For example, the initial failure intensity is
![]()
and after the first failure, the failure intensity decreases to
![]()
and so on.
The partial distribution function(pdf) of
is
![]()
The cumulative distribution function(cdf) of
is
![]()
The software reliability function is, therefore,
![]()
Recommended Posts:
- Software Engineering | Project size estimation techniques
- Types of Software Testing
- Software Testing | Basics
- Software Engineering | Architectural Design
- Software Engineering | Halstead’s Software Metrics
- Beta Testing | Software Testing
- Software Engineering | Debugging Approaches
- Pairwise Software Testing
- Software Engineering | COCOMO Model
- Software Engineering | Classification of Software Requirements
- Software Engineering | Classical Waterfall Model
- Software Engineering | Iterative Waterfall Model
- Software Engineering | Spiral Model
- Software Engineering | Requirements Engineering Process
- Software Engineering | Requirements Elicitation
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. 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.



