Empirical Exploration for the Correlation between Class Object-Oriented Connectivity-Based Cohesion and Coupling
Authors: Jehad Al Dallal
Abstract:
Attributes and methods are the basic contents of an object-oriented class. The connectivity among these class members and the relationship between the class and other classes play an important role in determining the quality of an object-oriented system. Class cohesion evaluates the degree of relatedness of class attributes and methods, whereas class coupling refers to the degree to which a class is related to other classes. Researchers have proposed several class cohesion and class coupling measures. However, the correlation between class coupling and class cohesion measures has not been thoroughly studied. In this paper, using classes of three open-source Java systems, we empirically investigate the correlation between several measures of connectivity-based class cohesion and coupling. Four connectivity-based cohesion measures and eight coupling measures are considered in the empirical study. The empirical study results show that class connectivity-based cohesion and coupling internal quality attributes are inversely correlated. The strength of the correlation depends highly on the cohesion and coupling measurement approaches.
Keywords: Object-oriented class, software quality, class cohesion measure, class coupling measure.
Digital Object Identifier (DOI): doi.org/10.5281/zenodo.1100174
Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 2392References:
[1] L. C. Briand, C. Bunse, and J. Daly, A controlled experiment for evaluating quality guidelines on the maintainability of object-oriented designs, IEEE Transactions on Software Engineering, 27(6), 2001, pp. 513-530.
[2] L. C. Briand, J. Daly, and J. Wust, A unified framework for coupling measurement in object-oriented systems, IEEE Transactions on Software Engineering, 25(1), 1999, pp. 91-121.
[3] S.R. Chidamber and C.F. Kemerer, Towards a Measures Suite for Object-Oriented Design, Object-Oriented Programming Systems, Languages and Applications (OOPSLA), Special Issue of SIGPLAN Notices, Vol. 26, No. 10, 1991, pp. 197-211.
[4] J. Al Dallal and L. Briand, A precise method-method interaction-based cohesion measure for object-oriented classes, ACM Transactions on Software Engineering and Methodology (TOSEM), 2012, Vol. 21, No. 2, pp. 8:1-8:34.
[5] H. Chae, H.S., Kwon, Y. R., and Bae, D. A cohesion measure for objectoriented classes, Software—Practice & Experience, 30(12), 2000, pp.1405-1431.
[6] B. Xu and Y. Zhou, Comments on 'A cohesion measure for objectoriented classes' by H. S. Chae, Y. R. Kwon and D. H. Bae (Softw. Pract. Exper. 2000, 30: 1405-1431), Software—Practice & Experience, Vol. 31, No. 14, 2001, pp. 1381-1388.
[7] X. Yang, Research on Class Cohesion Measures, M.S. Thesis, Department of Computer Science and Engineering, Southeast University, 2002.
[8] J. Al Dallal, Mathematical validation of object-oriented class cohesion measures, International Journal of Computers, 2010, 4(2), pp. 45-52.
[9] L. C. Briand, J. Daly, and J. Wuest, A unified framework for cohesion measurement in object-oriented systems, Empirical Software Engineering - An International Journal, Vol. 3, No. 1, 1998, pp. 65-117.
[10] J. Al Dallal, Qualitative analysis for the impact of accounting for special methods in object-oriented class cohesion measurement, Journal of Software, 2013, Vol. 8. No. 2, pp. 327-336.
[11] J. Al Dallal, Theoretical analysis for the impact of including special methods in lack-of-cohesion computation, Procedia Computer Science, Volume 1, 2012, Pages 167–171.
[12] J. Al Dallal, The impact of inheritance on the internal quality attributes of Java classes, Kuwait Journal of Science and Engineering, 2012, Vol. 39, No. 2A, pp. 131-154.
[13] J. Al Dallal, Constructing models for predicting extract subclass refactoring opportunities using object-oriented quality measures, Information and Software Technology, 2012. Vol. 54, No. 10, pp. 1125- 1141.
[14] J. Al Dallal, Incorporating transitive relations in low-level design-based class cohesion measurement, Software: Practice and Experience, 2013, Vol. 43. No. 6, pp. 685-704.
[15] J. Al Dallal, The impact of accounting for special methods in the measurement of object-oriented class cohesion on refactoring and fault prediction activities, Journal of Systems and Software, 2012, Vol. 85, No. 5, pp. 1042-1057.
[16] J. Al Dallal, Fault prediction and the discriminative powers of connectivity-based object-oriented class cohesion measures, Information and Software Technology, 2012, Vol. 54, No. 4, pp. 396-416.
[17] J. Al Dallal, Transitive-based object-oriented lack-of-cohesion measure, Procedia Computer Science, Volume 3, 2011, pp. 1581-1587.
[18] J. Al Dallal, Measuring the discriminative power of object-oriented class cohesion measures, IEEE Transactions on Software Engineering, 2011, Vol. 37, No. 6, pp. 788-804.
[19] J. Al Dallal, Improving the applicability of object-oriented class cohesion measures, Information and Software Technology, 2011, Vol. 53, No. 9, pp. 914-928.
[20] J. Al Dallal and L. Briand, An object-oriented high-level design-based class cohesion measure, Information and Software Technology, 2010, 52(12), pp. 1346-1361.
[21] J. Al Dallal, Software similarity-based functional cohesion measure, IET Software, 2009, Vol. 3, No. 1, pp. 46-57.
[22] J. Al Dallal and S. Morasca, Predicting object-oriented class reuseproneness using internal quality attributes, Empirical Software Engineering, 2014, Vol. 19, No. 4, pp. 775-821.
[23] J. Al Dallal, The effects of incorporating special methods into cohesion measurement on class instantiation reuse-proneness prediction, IET Software 2014, Vol. 8, No. 6, pp. 285-295.
[24] J. Al Dallal, Object-oriented class maintainability prediction using internal quality attributes, Information and Software Technology, 2013, Vol. 55, No. 11, pp. 2028-2048.
[25] 4. J. Al Dallal, Assessing the discriminative power of object-oriented cohesion measures in practice, AWERProcedia Information Technology and Computer Science, 2012, Vol. 1, pp. 447-452.
[26] J. Al Dallal and S. Morasca, Investigating the Impact of Fault Data Completeness over Time on Predicting Class Fault-Proneness, submitted for publication in IEEE Transactions on Software Engineering, 2015.
[27] H. Kabaili, R. Keller, and F. Lustman, Class cohesion as predictor of changeability: an empirical study, L'Objet, Hermes Science Publications, 2001, 7(4), pp. 515-534.
[28] W. Li and S.M. Henry, Object-oriented measures that predict maintainability, Journal of Systems and Software, 1993, 23(2), pp. 111- 122.
[29] L. Briand , P. Devanbu, and W. Melo, An investigation into coupling measures for C++, Proceedings of the 19th International Conference on Software Engineering, Boston, Massachusetts, United States, 1997, p.412-421.
[30] Illusion, http://sourceforge.net/projects/aoi/, November 2012.
[31] JabRef, http://sourceforge.net/projects/jabref/, November 2012.
[32] FreeMind, http://freemind.sourceforge.net/, November 2012.
[33] S. Siegel and J. Castellan, Nonparametric Statistics for the Behavioral Sciences, McGraw-Hill, 2nd edition, 1988.