Software Reliability

Preparing link to download Please wait... Attached file not found

E-Book Overview

C. Wohlin, M. Host, P. Runeson and A. Wesslen, Software Reliability, in Encyclopedia of Physical Sciences and Technology (third edition), Vol. 15, Academic Press, 2001.
ContentsReliability measurement and modeling: an introductionUsage-based testingData collectionSoftware reliability modelingExperience packagingSummary

E-Book Content

                      C. Wohlin, M. Höst, P. Runeson and A. Wesslén, "Software Reliability", in Encyclopedia of Physical Sciences and Technology (third edition), Vol. 15, Academic Press, 2001.  Software Reliability Claes Wohlin1, Martin Höst2, Per Runeson2 and Anders Wesslén2 1Blekinge Institute of Technology, Sweden University, Sweden 2Lund I. II. III. IV. V. VI. Reliability measurement and modeling: an introduction Usage-based testing Data collection Software reliability modeling Experience packaging Summary GLOSSARY Software reliability A software quality aspect that is measured in terms of mean time to failure or failure intensity of the software. Software failure A dynamic problem with a piece of software. Software fault A defect in the software, which may cause a failure if being executed. Software error A mistake made by a human being resulting in a fault in the software. Software reliability estimation An assessment of the current value of the reliability attribute. Software reliability prediction A forecast of the value of the reliability attribute at a future stage or point of time. Software reliability certification To formally demonstrate system acceptability to obtain authorization to use the system operationally. In terms of software reliability it means to evaluate whether the reliability requirement is met or not. Software reliability is defined as “the probability for failure-free operation of a program for a specified time under a specified set of operating conditions”. It is one of the key attributes when discussing software quality. Software quality may be divided into quality aspects in many ways, but mostly software reliability is viewed as one of the key attributes of software quality. The area of software reliability covers methods, models and metrics of how to estimate and predict software reliability. This includes models for both the operational profile, to capture the intended usage of the software, and models for the operational failure behavior. The latter type of models is then also used to predict the future behavior in terms of failures. Before going deeper into the area of software reliability, it is necessary to define a set of terms. Already in the definition, the word failure occurs, which has to be defined and in particular differentiated from error and fault. 1 Failure is a dynamic description of a deviation from the expectation. In other words, a failure is a departure from the requirements of the externally visible results of program execution. Thus, the program has to be executed for a failure to occur. A fault is the source of a failure, statically residing in the program, which under certain conditions results in a failure. The term defect is often used as a synonym to fault. The fault in the software is caused by an error, where an error is a human action. These definitions imply that the reliability depends not only on product attributes, such as number of faults, but also on how the product is used during operation, i. e. the operational profile. This also implies that software reliability is different from software correctness. Software correctness is a static attribute, i.e. number of faults, while reliability is a dynamic attribute, i.e. number of failures during execution. The relations between the terms are summarized in Figure 1. Correctness Error results in Reliability Fault d