A METRICS SUITE FOR OBJECT ORIENTED DESIGN

A METRICS SUITE FOR OBJECT ORIENTED DESIGN

December 1992 | Shyam R. Chidamber, Chris F. Kemerer
A metrics suite for object-oriented design was developed and evaluated by Shyam R. Chidamber and Chris F. Kemerer. The research addresses the need for software metrics in managing the object-oriented design process, especially when adopting new technologies. The metrics are based on the ontology of Bunge and are evaluated against Weyuker's measurement principles. Six metrics were developed: Weighted Methods Per Class (WMC), Depth of Inheritance Tree (DIT), Number of Children (NOC), Coupling between Objects (CBO), Response for a Class (RFC), and Lack of Cohesion in Methods (LCOM). These metrics were tested using empirical data from two field sites. WMC measures the complexity of a class based on the complexity of its methods. DIT measures the depth of inheritance, indicating how far a class is from the root of the inheritance hierarchy. NOC measures the number of immediate subclasses of a class. CBO measures the number of interactions between classes. RFC measures the number of methods a class can respond to. LCOM measures the cohesion of a class by analyzing the number of shared methods among its methods. The metrics were evaluated against six properties: non-coarseness, non-uniqueness, design implementation not function, monotonicity, non-equivalence of interaction, and interaction increases complexity. The results showed that the metrics generally satisfied these properties, except for property 6, which was not satisfied. Empirical data from two sites showed that most classes had a small number of methods, and the depth of inheritance was generally low. The number of children and coupling between objects were also generally low, suggesting that inheritance and coupling were not widely used. The data also indicated that a small number of classes were responsible for a large number of methods, and that testing effort should focus on these classes. The results suggest that the metrics can be used to assess the complexity and quality of object-oriented designs.A metrics suite for object-oriented design was developed and evaluated by Shyam R. Chidamber and Chris F. Kemerer. The research addresses the need for software metrics in managing the object-oriented design process, especially when adopting new technologies. The metrics are based on the ontology of Bunge and are evaluated against Weyuker's measurement principles. Six metrics were developed: Weighted Methods Per Class (WMC), Depth of Inheritance Tree (DIT), Number of Children (NOC), Coupling between Objects (CBO), Response for a Class (RFC), and Lack of Cohesion in Methods (LCOM). These metrics were tested using empirical data from two field sites. WMC measures the complexity of a class based on the complexity of its methods. DIT measures the depth of inheritance, indicating how far a class is from the root of the inheritance hierarchy. NOC measures the number of immediate subclasses of a class. CBO measures the number of interactions between classes. RFC measures the number of methods a class can respond to. LCOM measures the cohesion of a class by analyzing the number of shared methods among its methods. The metrics were evaluated against six properties: non-coarseness, non-uniqueness, design implementation not function, monotonicity, non-equivalence of interaction, and interaction increases complexity. The results showed that the metrics generally satisfied these properties, except for property 6, which was not satisfied. Empirical data from two sites showed that most classes had a small number of methods, and the depth of inheritance was generally low. The number of children and coupling between objects were also generally low, suggesting that inheritance and coupling were not widely used. The data also indicated that a small number of classes were responsible for a large number of methods, and that testing effort should focus on these classes. The results suggest that the metrics can be used to assess the complexity and quality of object-oriented designs.
Reach us at info@study.space