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.




References:
[1] S.R.Chidamber and C.F.Kemerer. A metrics suite for object oriented
design. In IEEE Transactions on Software Engineering, Vol 20. No 6.
1994. Pp476-493Xxxxx
[2] L.C. Briand, J.W.Daly, and J.Wust. A unified framework for cohesion
measurement in object-oriented systems. In Empirical Software
Engineering, 3, 1998, pp.65-117.
[3] Y.Zhou, B.Xu, J.Zhao, and H.Yang. ICBMC: an improved cohesion
measure for classes. In Proceedings of the International Conference on
Software Maintenance (ICSM-02), 2002.
[4] Y.Zhou, L.Wen, J.Wang, Y.Chen, H.Lu, and B.Xu. DRC: a dependence
relationships based cohesion measure for classes. In Proceedings of the
Tenth Asia-Pacific Software Engineering Conference (APSEC-03),
2003. Pp1-9.
[5] H.Schildt. Java 2: A Beginner-s Guide. USA: McGraw-Hill/Osborne.
2003.
[6] C.S.Horstmann and G.Cornell. Core Java 2. USA: Prentice Hall. 2004.
[7] R.Barker and E.Tempero. A large-scale empirical comparison of objectoriented
cohesion metrics. In Proceedings of 14th Asia-Pacific Software
Engineering Conference (APSEC 2007). 2007. Pp414-421.
[8] S.Counsell, S.Swift, A.Tucker. Object-oriented cohesion as a surrogate
of software comprehension: an empirical study. 5th IEEE International
Workshop on Source Code Analysis and Manipulation (SCAM-05).
2005.
[9] S.Counsell, E.Mendes, S.Swift. Comprehension of object-oriented
software cohesion: the empirical quagmire. 10th International Workshop
on Program Comprehension (IWPC-02). 2002.
[10] G.Gui. Component reusability and cohesion measures in object-oriented
systems. In Information and Communication Technologies, 2nd Volume.
2006. Pp 2878-2882.
[11] I.Heitlager, T.Kuipers and J.Visser. A practical model for measuring
maintainability. In Proceedings of Sixth International Conference on the
Quality of Information and Communications Technology. 2007. Pp30-
39.