A mathematical foundation for software process control
A novel approach to model the system test phase of the software life cycle is presented. This approach is based on concepts and techniques from control theory and is useful in computing the effort required to reduce the number of errors and the schedule slippage under a changing process environment. Results from these computations are used, and possibly revised, at specific checkpoints in a feedback-control structure to meet the schedule and quality objectives. The revisions are based on an algorithm to calibrate parameters of the model and to compute an estimate of the initial number of errors in a software product. The mathematical foundation of the model, and the calibration technique used, constitutes a basis to extrapolate the application of the work presented here. ^ The model is validated both statically and dynamically. The static validation is carried out by a extremal case analysis and by a sensitivity analysis using a tensor product approach. The dynamic validation consists of two case studies. One study uses data reported by Knuth when developing TEX 78 and the second study uses data from a large commercial project. The outcome from these two studies, combined with the results from the extremal and sensitivity analysis, suggests that the proposed model might well be the first significant milestone along the road to a formal and practical theory of software process control. ^
Major Professors: Aditya P. Mathur, Purdue University, Raymond A. DeCarlo, Purdue University.