Software Quality Classification Model based on McCabe’s Complexity Measure
Ryouei Takahashi · 1996
A software quality classification model based on McCabe’s complexity measure is in — vestigated. It is experimentally shown using regression and discriminant analyses that program fault density (number of faults per 1000 source lines of code) depends on the complexity of the functional unit rather than on that of each of the modules. To identify the best model, stepwise selection method improved by AIC (Akaike Information Criterion) is applied to regression and discriminant analyses. A functional unit is the partitioning unit of the software function and consists of several modules that are combined with data that is commonly referred to or updated. This partitioning is done in the early phases of the software life cycle and experiments show that interfaced complexity among functional units is associated with software faults. The concept of an “extented cyclomatic number (Si’)”—an extension of McCabe’s design complexity measure S 1 from an inner-functional-unit control structure to a between-functional-unit control structure-is proposed taking this complexity tendency into consideration and is experimentally studied. It is well known that Si is equal to the number of predicates + 1. In the metric S 1 ’, the nesting depth of predicate nodes for invoking module path selection is taken into consideration. The number of predicates whose scope is confined to a functional unit can be separately counted from the predicates whose scope extends to different functional units. This software quality classification model with the extended cyclomatic number enables project managers to control software quality.