Title :
A stochastic model of fault introduction and removal during software development
Author :
Stutzke, Martin A. ; Smidts, Carol S.
Author_Institution :
Data Syst. & Solutions, Frederick, MD, USA
fDate :
6/1/2001 12:00:00 AM
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
Keywords :
program debugging; program testing; software reliability; stochastic processes; coding activities; debugging error occurrence; debugging errors; design; dynamic testing; fault introduction; fault removal; human error; requirements analysis; software development; software failure intensity; software failure intensity function; software inspection; software life-cycle phases; software reliability; stochastic model; success likelihood methodology; waterfall software development; Humans; Programming; Software debugging; Software performance; Software quality; Software reliability; Software testing; Software tools; Stochastic processes; System testing;
Journal_Title :
Reliability, IEEE Transactions on