Determining the Minimum Threshold for the Functional Relatedness of Inner-Outer Class

Inner class is a specialized class that defined within a regular outer class. It is used in some programming languages such as Java to carry out the task which is related to its outer class. The functional relatedness between inner class and outer class is always the main concern of defining an inner class. However, excessive use of inner class could sabotage the class cohesiveness. In addition, excessive inner class leads to the difficulty of software maintenance and comprehension. Our research aims at determining the minimum threshold for the functional relatedness of inner-outer class. Such minimum threshold is a guideline for removing or relocating the excessive inner class. Our research provides a feasible way for software developers to define inner classes which are functionally related to the outer class. Keywords—Cohesion, functional relatedness of inner-outer class, inner class.

[1]  Yuming Zhou,et al.  DRC: a dependence relationships based cohesion measure for classes , 2003, Tenth Asia-Pacific Software Engineering Conference, 2003..

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

[3]  G. Gui Component Reusability and Cohesion Measures in Object-Oriented Systems , 2006, 2006 2nd International Conference on Information & Communication Technologies.

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

[5]  Emilia Mendes,et al.  Comprehension of object-oriented software cohesion: the empirical quagmire , 2002, Proceedings 10th International Workshop on Program Comprehension.

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

[7]  Allan Tucker,et al.  Object-oriented cohesion as a surrogate of software comprehension: an empirical study , 2005, Fifth IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'05).