Publication | Closed Access
Empirical analysis of CK metrics for object-oriented design complexity: implications for software defects
666
Citations
35
References
2003
Year
Software MaintenanceEngineeringSoftware EngineeringObject OrientationSoftware AnalysisDesign MetricsEmpirical Software Engineering ResearchObject-oriented Design ComplexitySystems EngineeringSoftware AspectCk MetricsSoftware QualitySoftware MeasurementDesignComputer ScienceSoftware DefectsSoftware DesignSoftware DevelopmentProgram AnalysisSoftware TestingSoftware MetricFormal MethodsSystem Software
High‑quality object‑oriented applications require strong emphasis on design, especially early in development, and design metrics help developers understand and improve quality and productivity. This study empirically investigates whether CK metrics predict software defects. We analyze industry data from C++ and Java projects using CK metrics to assess defect correlation. Our results show that CK metrics are significantly associated with defects even after controlling for size, with effects varying between C++ and Java, implying important implications for OO software design.
To produce high quality object-oriented (OO) applications, a strong emphasis on design aspects, especially during the early phases of software development, is necessary. Design metrics play an important role in helping developers understand design aspects of software and, hence, improve software quality and developer productivity. In this paper, we provide empirical evidence supporting the role of OO design complexity metrics, specifically a subset of the Chidamber and Kemerer (1991, 1994) suite (CK metrics), in determining software defects. Our results, based on industry data from software developed in two popular programming languages used in OO development, indicate that, even after controlling for the size of the software, these metrics are significantly associated with defects. In addition, we find that the effects of these metrics on defects vary across the samples from two programming languages-C++ and Java. We believe that these results have significant implications for designing high-quality software products using the OO approach.
| Year | Citations | |
|---|---|---|
Page 1
Page 1