Top Qs
Timeline
Chat
Perspective
List of software reliability models
From Wikipedia, the free encyclopedia
Remove ads
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. Many 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.
1.0 Overview of Software Reliability Prediction Models
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. The model wasn't updated after 1992. However, the Full-scale model was deployed in 1997 which reused many of the factors in the TR-92-52 model. New development factors were added to reflect new technologies and the empirical data included data from systems other than aircraft. That model was updated 6 times until 2016. Then in 2022, Requs AI Predict became available. It has all of the factors and data from the Full-scale model but it uses a machine learning model. It also has more data and more factors (such as agile development and MBSE) than the full-scale model.
2.0 Overview of Software Reliability Growth (Estimation) Models
Software reliability growth (or estimation) models use failure data from testing to forecast the failure rate or MTBF into the future. The models depend on the assumptions about the fault rate during testing which can either be increasing, peaking, decreasing or some combination of decreasing and increasing. Some models assume that there is a finite and fixed number of inherent defects while others assume that it's infinite. Some models require effort for parameter estimation while others have only a few parameters to estimate. Some models require the exact time in between each failure found in testing, while others only need to have the number of failures found during any given time interval such as a day.
Software reliability tools for predicting defect density before the code is written include Requs AI Predict. Tools that estimate or forecast software reliability given failure data in testing icnlude 1) open source SFRAT (Software Failure and Reliability Assessment Tool), and 2) Requs AI Predict Estimation Model.
Remove ads
References
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads