Project leaders performing quantitative management using process improvement models, namely Capability Maturity Model Integration (CMMI), usually confront the question of how inspection effectiveness can be improved in practice. This paper provides an answer. This case study builds defect prediction models for code inspection, and uses them to study factors that affect inspection effectiveness. While the focus is on software code inspection, this work is more broadly applicable.
Multivariate regression is used to build a model for the number of defects, dependent on inspection effort and rate. Another technique, a new approach called multiple adaptive regression splines (MARS) (which approximates a function with a piecewise linear form), is used to build an alternate model, using effort, rate, number of changes, size, and number of inspections. The models are compared for fit, predictive power, and identification of variable interaction. The authors compare their results to results reported in the literature.
The practical benefits of MARS are improved planning, management, and inspection effectiveness. For example, using the number of defects predicted for planned inspections, an associated rework can be estimated, and included in the planning. The models can also be used to make decisions about the amount of effort, number of participants, and rate at which an inspection should be performed, in order to optimize effectiveness.
This paper is a practical, worthwhile contribution to the empirical software engineering literature; it will greatly benefit metrics leaders, quality engineers, process engineers, and engineering managers. It shows us a way to build our own models.