Comparing models for identifying fault-prone software components
Filippo Lanubile, Antonio Lonigro, Giuseppe Vissagio · 1995
We present an empirical investigation of the modeling techniques for identifying fault-prone software components early in the software life cycle. Using software complexity measures, the techniques build models which classify components as likely to contain faults or not. The modeling techniques applied in this study cover the main classification paradigms, including principal component analysis, discriminant analysis, logistic regression, logical classification models, layered neural networks, and holographic networks. Experimental results are obtained from 27 academic software projects. We evaluate the models with respect to four criteria: predictive validity, misclassification rate, achieved quality, and verification cost. A surprising result is that no model is able to discriminate between components with faults and components without faults. 1: Introduction Software complexity metrics are often used as indirect metrics of reliability since they can be obtained relatively early in...