An Empirical Study of the Fault-Predictive Ability of Software Control-Structure Metrics
NAVAL POSTGRADUATE SCHOOL MONTEREY CA
Pagination or Media Count:
The increasing cost and complexity of software in recent years is causing growing interest in the development of measurement technology to evaluate, predict and compare software complexity. Metrics can be used throughout all the development cycle providing valuable information to the software developers in order to enhance the final products. The goal of this thesis is to verify empirically the fault-predictive ability of some software complexity metrics and specifically their usefulness during the testing phase. A set of eight programs, varying in length from 1,186 to 2,489 lines of Pascal code with 157 faults identified with specific modules, provided the data for this study. The results of the analysis of the programs using four metrics, cyclomatic complexity, bandwidth, nested complexity and the number of statements, show that control-structure metrics can be effectively used to detect the more fault-prone modules. The nested complexity of the modules seems to be some relation with the number of faults caused by wrong use of variables and overrestrictive input checks. These observations can be particularly useful during the testing phase because testers can use control-structure metrics to predict not only the modules that may cause more problems but also the more frequent types of faults and use the metrics to guide the choice of testing techniques.
- Computer Programming and Software