Under CopyrightBriand, L.C.L.C.BriandDaly, J.J.DalyPorter, V.V.PorterWüst, J.J.Wüst2022-03-0706.09.20071998https://publica.fraunhofer.de/handle/publica/28949610.24406/publica-fhg-289496This paper aims at empirically exploring the relationships between existing object-oriented coupling, cohesion, and inheritance measures and the probability of fault detection in system classes during testing. The underlying goal of such a study is to better understand the relationship between existing product measurement in OO systems and the quality of the software developed. Results show that many of the measures capture similar dimensions in the dataset, thus reflecting the fact that many of them are based on similar principles and hypotheses. However, it is shown that by using a subset of measures, accurate models can be built to predict in which classes most of the faults are likely to lie in. By inspecting an amount of code comparable to the one contained in faulty classes, it is possible to find between 90% and 95% of the faults, depending on the type of model validation considered. Besides the size of classes, the frequency of method invocation and the depth of inheritance hie rarchies seem to be the main driving factors of fault proneness.1.0 Introduction S.1 2.0 The Empirical Study S.2 2.1 Dependent Variable S.2 2.2 Independent Variables S.2 Table 1: Coupling measures S.3 Table 2: Cohesion measures S.4 2.3 Hypotheses S.5 2.4 Description of the Empirical Study S.6 2.4.1 Setting of the Study S.6 2.4.2 Data Collection Procedures and Measurement Instruments S.6 2.4.3 Data Collected S.6 3.0 Data Analysis Methodology S.6 3.1 Procedure for Data Analysis S.7 3.1.1 Data distribution and outlier analyses S.7 3.1.2 Principal component analysis S.7 3.1.3 Prediction model construction S.7-8 3.1.4 Correlation to size S.9 3.2 Logistic Regression S.9-10 4.0 Analysis Results S.11 4.1 Coupling Results S.11 4.1.1 Data distribution and outlier analyses S.11 4.1.2 Principal component analysis S.11 4.1.3 Univariate logistic regression S.14 4.1.4 Correlation with size S.15 4.1.5 Summary S.16 4.2 Cohesion results S.17 4.2.1 Data distribution and outlier analyses S.17 4.2.2 Principal component analysis S.17 4.2.3 Univariate logistic regression S.18 4.2.4 Correlation with size S.19 4.2.5 Summary S.19 4.3 Inheritance Results S.19 4.3.1 Data distribution and outlier analyses S.19 4.3.2 Principal component analysis S.20 4.3.3 Univariate logistic regression S.21 4.3.4 Correlation with size S.21 4.3.5 Summary S.22 4.4 Multivariate Logistic Regression Model S.22 4.5 Threats to validity S.24 4.5.1 Construct validity S.24 4.5.2 Internal validity S.24 4.5.3 External validity S.25 5.0 Conclusions S.25 Acknowledgments S.25 References S.25-26 Appendix S.27encohesioncouplingempirical validationinheritancemeasurementmetricsobject-oriented004005006A Comprehensive Empirical Validation of Product Measures for Object-Oriented Systemsreport