International Journal of Computer Science and Technology

ISSN 2996-8223

International Journal of Computer Science and Technology | Vol. 11, No. 5, May 2009 | pp. 33–40

DOI: 10.46882/2009/IJCST/000014

Article Type: Research Paper

Title: An Empirical Study of Software Fault Prediction Models Using Object-Oriented Metrics

Names of Authors: Sarah Jenkins¹, Carlos Mendez²

Authors’ Affiliations: ¹Department of Software Engineering, University of Waterloo, Ontario, Canada; ²Department of Computing, Universidad de Buenos Aires, Buenos Aires, Argentina

Abstract: Early detection of software bugs is critical to minimizing maintenance costs and improving overall software reliability. This study investigates the performance of software fault prediction models utilizing Chidamber and Kemerer (CK) object-oriented metrics. We evaluated six core metrics, including Depth of Inheritance Tree (DIT) and Number of Children (NOC), across five open-source Java projects containing a total of over 12,500 classes. Logistic regression, random forests, and naive Bayes algorithms were applied to categorize fault-prone modules. The Random Forest model demonstrated the highest predictive capability, yielding an Area Under the Curve (AUC) value of 0.892 and a sensitivity score of 84.6%. The empirical findings show that Coupling Between Object classes (CBO) and Response For a Class (RFC) are the strongest statistical indicators of software defects (p < 0.01). Integrating these metrics into automated continuous integration pipelines allows engineering teams to identify problematic code components prior to production deployment.

Keywords: Software Fault Prediction, Object-Oriented Metrics, CK Metrics, Software Quality Assurance, Random Forest, Empirical Evaluation

Manuscript Timeline: Received: October 20, 2008; Revised: December 10, 2008; Accepted: January 22, 2009; Published: February 22, 2009

Citation: Jenkins, S., & Mendez, C. (2009). An Empirical Study of Software Fault Prediction Models Using Object-Oriented Metrics. International Journal of Computer Science and Technology, 11(5), 33–40.