Mathematical Validation of Object-Oriented Class Cohesion Metrics

Class cohesion is an object-oriented software quality attribute and refers to the extent to which the members of a class are related. Software developers use class cohesion measures to assess the quality of their products and to guide the restructuring of poorly designed classes. Several class cohesion metrics are proposed in the literature, and a few of them are mathematically validated against the necessary properties of class cohesion. Metrics that violate class cohesion properties are not well defined, and their utility as indictors of the relatedness of class members is questionable. The purpose of this paper is to mathematically validate sixteen class cohesion metrics using class cohesion properties. Results show that metrics differ considerably in satisfying the cohesion properties; some of them satisfy all properties, while others satisfy none.

[1]  Jarallah AlGhamdi,et al.  Measuring software coupling , 2007, ICSE 2007.

[2]  Yuming Zhou,et al.  ICBMC: an improved cohesion measure for classes , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[3]  Jehad Al Dallal Theoretical validation of object-oriented lack-of-cohesion metrics , 2009, ICSE 2009.

[4]  Martin Hitz,et al.  Measuring coupling and cohesion in object-oriented systems , 1995 .

[5]  Pornsiri Muenchaisri,et al.  Measuring maintainability in early phase using aesthetic metrics , 2005, ICSE 2005.

[6]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[7]  Jason Crampton,et al.  The interpretation and utility of three cohesion metrics for object-oriented design , 2006, TSEM.

[8]  Challa Bonja,et al.  Metrics for class cohesion and similarity between methods , 2006, ACM-SE 44.

[9]  Arun Lakhotia Rule-based approach to computing module cohesion , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[10]  Letha H. Etzkorn,et al.  A Class Cohesion Metric For Object-Oriented Designs , 1999, J. Object Oriented Program..

[11]  Letha H. Etzkorn,et al.  Clarifying specialized forms of association in UML and OML , 1998 .

[12]  Heeae Ko,et al.  A Study on the Mobile Web Generating using Element of User Experience , 2007 .

[13]  Lionel C. Briand,et al.  An object-oriented high-level design-based class cohesion metric , 2010, Inf. Softw. Technol..

[14]  Stuart H. Zweben,et al.  Measuring the quality of structured designs , 1981, J. Syst. Softw..

[15]  Luis Fernández,et al.  A SENSITIVE METRIC OF CLASS COHESION , 2006 .

[16]  Jehad Al Dallal Measuring the Discriminative Power of Object-Oriented Class Cohesion Metrics , 2011, IEEE Transactions on Software Engineering.

[17]  Yuming Zhou,et al.  A comparative study of graph theory-based class cohesion measures , 2004, SOEN.

[18]  Linda M. Ott,et al.  Slice based metrics for estimating cohesion , 1993, [1993] Proceedings First International Software Metrics Symposium.

[19]  James M. Bieman,et al.  Measuring Design-Level Cohesion , 1998, IEEE Trans. Software Eng..

[20]  Mourad Badri,et al.  A Proposal of a New Class Cohesion Criterion: An Empirical Study , 2004, J. Object Technol..

[21]  Chris F. Kemerer,et al.  Towards a metrics suite for object oriented design , 2017, OOPSLA '91.

[22]  Jehad Al Dallal A Design-Based Cohesion Metric for Object-Oriented Classes , 2012 .

[23]  Sallie M. Henry,et al.  Maintenance metrics for the object oriented paradigm , 1993, [1993] Proceedings First International Software Metrics Symposium.

[24]  Jehad Al Dallal Software similarity-based functional cohesion metric , 2009, IET Softw..

[25]  Cemal Yilmaz,et al.  Software Metrics , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[26]  Arun Kumar Misra,et al.  A complexity measure based on information contained in the software , 2006, ICSE 2006.

[27]  James M. Bieman,et al.  Measuring Functional Cohesion , 1994, IEEE Trans. Software Eng..

[28]  James M. Bieman,et al.  Cohesion and reuse in an object-oriented system , 1995, SSR '95.

[29]  Doo-Hwan Bae,et al.  A cohesion measure for object‐oriented classes , 2000 .

[30]  Lionel C. Briand,et al.  A Precise Method-Method Interaction-Based Cohesion Metric for Object-Oriented Classes , 2012, TSEM.

[31]  David W. Binkley,et al.  An empirical study of slice-based cohesion and coupling metrics , 2007, TSEM.

[32]  Jehad Al Dallal Efficient Program Slicing Algorithms for Measuring Functional Cohesion and Parallelism , 2008 .

[33]  Yuming Zhou,et al.  A novel approach to measuring class cohesion based on dependence analysis , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[34]  Lionel C. Briand,et al.  A Unified Framework for Cohesion Measurement in Object-Oriented Systems , 2004, Empirical Software Engineering.