Software Reliability is the probability of failure-free software operation for a specified period of time in a specified environment.
- It differs from hardware reliability in that it reflects the design perfection, rather than manufacturing perfection.
- The high complexity of software is the major contributing factor of Software Reliability problems.
- Software reliability can be measured, directed and estimated using historical and developmental data.
The change of failure rate over the product lifetime for a typical hardware and a software product are shown in the figure which is known as Bathtub curve.
The bathtub curve for the hardware reliability can be shown as:
Similarly, the Bathtub curve for the software reliability can be shown as in the figure:
Software-reliability however does not show the same characteristics similar as hardware. For software, the failure rate is at its highest during integration and test. A the system is tested, more errors are identified and removed resulting in reduced failure rates.
Software Reliability Metrics
Reliability metrics are used to quantitatively express the reliability of a software product. Some reliability metrics are:
- MTTF (Mean time to failure): It is the average time between observed system failures.
- MTTR (Mean time to repair): It measures the average time it takes to track the errors causing the failure and then to fix them.
- Availability: Software availability is the probability that a program is operating according to requirements at a given point time. It is given by:
Availability = MTBF/(MTBF+MTTR)
Hence, Reliability can be calculated as:
Reliability = MTBF/(1+MTBF)
468 total views, 3 views today
A Soon-to-be Computer Engineer by profession, he has profound devotion to add Data Scientist as a prefix to his name. He’s been to the nooks of the web (at least of the surface web) and planning to add some real figures in his pocket!