请输入您要查询的百科知识:

 

词条 List of software reliability models
释义

  1. References

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.

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. 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.[1]

ModelNumber of inputsIndustry supportedEffort required to use the modelRelative accuracyYear developed/Last updated
Industry tables1SeveralQuickVaries1992, 2015
CMMI® tables1AnyQuickLow at low CMMi®1997, 2012
Shortcut model23AnyModerateMedium1993, 2012
Full-scale model94-299AnyDetailedMedium-High1993, 2012
Metric based modelsVariesAnyVariesVariesNA
Historical dataA minimum of 2AnyDetailedHighNA
Rayleigh model3AnyModerateMediumNA
RADC TR-92-5243-222AircraftDetailedObsolete1978, 1992
Neufelder model156AnyDetailedMedium to high2015
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.

Model nameInherent defect countEffort requiredRequires exact time between failures
Increasing fault rate
WeibullFinite/not fixedHighNA
Peak
Shooman Constant Defect Removal Rate ModelFinite/fixedLowYes
Decreasing fault rate
Shooman Constant Defect Removal Rate ModelFinite/fixedLowYes
Linearly Decreasing
General exponential models including:

· Goel-Okumoto (exponential)[2]

· Musa Basic Model

· Jelinski-Moranda

Finite/fixedMediumYes
Shooman Linearly Decreasing ModelFinite/fixedLowYes
DuaneInfiniteMediumNo
Non-Linearly Decreasing
Musa-Okumoto (logarithmic)InfiniteLowYes
Shooman Exponentially Decreasing ModelFinite/fixedHighYes
Log-logisticFinite/fixedHighYes
GeometricInfiniteHighYes
Increasing and then decreasing
Yamada (Delayed)

S-shaped

InfiniteHighYes
WeibullFinite/not fixedHigh

Software reliability tools implementing some of these models include CASRE (Computer-Aided Software Reliability Estimation) and an open source SFRAT (Software Failure and Reliability Assessment Tool).

References

1. ^{{Cite web|url=http://www.softrel.com/truth.html|title=The Cold Hard Truth About Reliable Software|website=www.softrel.com|access-date=2017-02-13}}
2. ^{{cite journal|last=Goel|first=Amrit|date=Aug 1979|title=Time-Dependent Error-Detection Rate Model for Software Reliability and Other Performance Measures|url=http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5220566&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D5220566|journal=IEEE Transactions on Reliability|volume=R-28|issue=3|pages=206–211|doi=10.1109/tr.1979.5220566|author2=Okumoto, Kazu|accessdate=2012-09-29}}
3. ^{{cite journal|title=IEEE 1633 Recommended Practices for Software Reliability, 2016.|date=Jan 2017|url=http://www.techstreet.com/ieee/standards/ieee-p1633?product_id=1914936}}
4. ^{{cite conference|title=CASRE: a computer-aided software reliability estimation tool|date=1992|url=https://ieeexplore.ieee.org/document/200165}}
5. ^{{cite conference|title=An open source software reliability tool: a guide for users|date=2016|url=https://sasdlc.org/}}
[3][4][5]

1 : Software testing

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/18 17:55:47