A stochastic model of fault introduction and removal during software development

M. Stutzke, Carol Smidts

IEEE Transactions on Reliability · 2001 · 29 citations · 21 references

Concepts

TL;DR

Software development involves two main human error categories—development errors during requirements, design, and coding, and debugging errors during fault removal—whose occurrence can be used early in the life cycle to predict software failure intensity. This study aims to construct a stochastic model that links software failure intensity to the occurrence of development and debugging errors across all life‑cycle phases. The model, derived from literature data and augmented with a SLIM‑based procedure to incorporate influencing factors such as experience and schedule pressure, is applied to analyze fault introduction and removal and compute failure intensity for a small waterfall‑developed software. The resulting model demonstrates that software reliability can be treated as a controllable variable early in the development life cycle.

Abstract

Two broad categories of human error occur during software development: (1) development errors made during requirements analysis, design, and coding activities; (2) debugging errors made during attempts to remove faults identified during software inspections and dynamic testing. This paper describes a stochastic model that relates the software failure intensity function to development and debugging error occurrence throughout all software life-cycle phases. Software failure intensity is related to development and debugging errors because data on development and debugging errors are available early in the software life-cycle and can be used to create early predictions of software reliability. Software reliability then becomes a variable which can be controlled up front, viz, as early as possible in the software development life-cycle. The model parameters were derived based on data reported in the open literature. A procedure to account for the impact of influencing factors (e.g., experience, schedule pressure) on the parameters of this stochastic model is suggested. This procedure is based on the success likelihood methodology (SLIM). The stochastic model is then used to study the introduction and removal of faults and to calculate the consequent failure intensity value of a small-software developed using a waterfall software development.

References

21