Jump to content

List of software reliability models

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Softrel (talk | contribs) at 14:43, 10 February 2017. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Software reliability is the probability of the software causing a system failure over some specified operating time. Software does not fail due to wear out but does fail due to faulty functionality, timing, sequencing, data, and exception handling. The software fails as a function of operating time as opposed to calendar time.

Over 225 models have been developed since early 1970s, however, several of them have similar if not identical assumptions. The models have two basic types - prediction modeling and estimation modeling.

Prediction Model These models are derived from actual historical data from real software projects. The user answers a list of questions which calibrate the historical data to yield a software reliability prediction. The accuracy of the prediction depends on how many parameters (questions) and datasets are in the model, how current the data is, and how confident the user is of their inputs. One of the earliest prediction models was the Rome Laboratory TR-92-52. It was developed in 1987 and last updated in 1992 and was geared towards software in avionics systems. Due to the age of the model and data it's no longer recommended but is the basis for several modern models such as the Shortcut model, Full-scale model, and Neufelder assessment model. There are also lookup tables for software defect density based on the capability maturity or the application type. These are very simple models but are generally not as accurate as the assessment based models.

Estimation Models

Estimation models use failure data from testing to forecast the failure rate or MTBF into the future. Some examples of estimation models include: Models used when the failure rate is linearly decreasing

  • Shooman model
  • Jelinski-Moranda
  • Goel-Okumoto (exponential)[1]
  • Musa Basic

Models used when the failure rate is decreasing non-linearly

  • Shooman non-linearly decreasing model
  • Musa Logarithmic
  • Weibull
  • Delayed s-Shaped
  • Inflexion s-Shaped

References

  1. ^ Goel, Amrit; Okumoto, Kazu (Aug 1979). "Time-Dependent Error-Detection Rate Model for Software Reliability and Other Performance Measures". IEEE Transactions on Reliability. R-28 (3): 206–211. doi:10.1109/tr.1979.5220566. Retrieved 2012-09-29.

[1]

  1. ^ "IEEE 1633 Recommended Practices for Software Reliability, 2016". Jan 2017. {{cite journal}}: Cite journal requires |journal= (help)