Theoretical Exploration for the Impact of Accounting for Special Methods in Connectivity-Based Cohesion Measurement
Authors: Jehad Al Dallal
Abstract:
Class cohesion is a key object-oriented software quality attribute that is used to evaluate the degree of relatedness of class attributes and methods. Researchers have proposed several class cohesion measures. However, the effect of considering the special methods (i.e., constructors, destructors, and access and delegation methods) in cohesion calculation is not thoroughly theoretically studied for most of them. In this paper, we address this issue for three popular connectivity-based class cohesion measures. For each of the considered measures we theoretically study the impact of including or excluding special methods on the values that are obtained by applying the measure. This study is based on analyzing the definitions and formulas that are proposed for the measures. The results show that including/excluding special methods has a considerable effect on the obtained cohesion values and that this effect varies from one measure to another. For each of the three connectivity-based measures, the proposed theoretical study recommended excluding the special methods in cohesion measurement.
Keywords: Object-oriented class, software quality, class cohesion measure, class cohesion, special methods.
Digital Object Identifier (DOI): doi.org/10.5281/zenodo.1096769
Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 1696References:
[1] Al Dallal, J. and Briand, L., A Precise method-method interaction-based cohesion metric for object-oriented classes, ACM Transactions on Software Engineering and Methodology (TOSEM), 2012, Vol. 21, No. 2, pp. 8:1-8:34.
[2] Al Dallal, J. Object-oriented class maintainability prediction using internal quality attributes, Information and Software Technology, 2013, Vol. 55, No. 11, pp. 2028-2048.
[3] Bieman, J. and Kang, B., Cohesion and reuse in an object-oriented system, Proceedings of the 1995 Symposium on Software reusability, Seattle, Washington, United States, 1995, pp. 259-262.
[4] Badri, L. and Badri, M., A Proposal of a new class cohesion criterion: an empirical study, Journal of Object Technology, 3(4), 2004, pp. 145-159.
[5] Fernández, L., and Peña, R., A sensitive metric of class cohesion, International Journal of Information Theories and Applications, 13(1), 2006, pp. 82-91.
[6] Bonja, C. and Kidanmariam, E., Metrics for class cohesion and similarity between methods, Proceedings of the 44th Annual ACM Southeast Regional Conference, Melbourne, Florida, 2006, pp. 91-95.
[7] HChae, H.S., Kwon, Y. R., and Bae, D. A cohesion measure for objectoriented classes, Software—Practice & Experience, 30(12), 2000, pp.1405-1431.
[8] Al Dallal, J., Fault prediction and the discriminative powers of connectivity-based object-oriented class cohesion metrics, Information and Software Technology, 2012, Vol. 54, No. 4, pp. 396-416.
[9] Yang, X., Research on Class Cohesion Measures, M.S. Thesis, Department of Computer Science and Engineering, Southeast University, 2002.
[10] Al Dallal, J., A design-based cohesion metric for object-oriented classes, International Journal of Computer Science and Engineering, 2007, Vol. 1, No. 3, pp. 195-200.
[11] Al Dallal, J. and Briand, L., An object-oriented high-level design-based class cohesion metric, Information and Software Technology, 2010, Vol. 52, No. 12, pp. 1346-1361.
[12] Al Dallal, J., Improving object-oriented lack-of-cohesion metric by excluding special methods, proceedings of the 10th WSEAS International Conference on Software Engineering, Parallel and Distributed Systems (SEPADS 2011), Cambridge, UK, February 2011.
[13] Counsell, S., Swift, S., and Crampton, J., The interpretation and utility of three cohesion metrics for object-oriented design, ACM Transactions on Software Engineering and Methodology (TOSEM), Vol. 15, No. 2, 2006, pp.123-149.
[14] Briand, L. C., Wüst, J., and Lounis, H., Replicated Case Studies for Investigating Quality Factors in Object-Oriented Designs, Empirical Software Engineering, 6(1), 2001, pp. 11-58.
[15] Marcus, M., Poshyvanyk, D., and Ferenc, R., Using the conceptual cohesion of classes for fault prediction in object-oriented systems, IEEE Transactions on Software Engineering, 34(2), 2008, pp. 287-300.
[16] Al Dallal, J., The impact of inheritance on the internal quality attributes of java classes, Kuwait Journal of Science, 2012, Vol. 39, No. 2A, pp. 131-154.
[17] Al Dallal, J., Incorporating transitive relations in low-level design-based class cohesion measurement, Software: Practice and Experience, 2013, Vol. 43. No. 6, pp. 685-704.
[18] Al Dallal, J., Constructing models for predicting extract subclass refactoring opportunities using object-oriented quality metrics, Information and Software Technology, 2012, Vol. 54, No. 10, pp. 1125- 1141.
[19] Al Dallal, J. and Morasca, S., Predicting object-oriented class reusability using internal quality attributes, Empirical Software Engineering, Vol. 19, No. 4, 2014, pp. 775-821.
[20] Al Dallal, J., 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.
[21] Al Dallal, J., Measuring the discriminative power of object-oriented class cohesion metrics, IEEE Transactions on Software Engineering, 2011, Vol. 37, No. 6, pp. 788-804.
[22] Al Dallal, J., Improving the applicability of object-oriented class cohesion metrics, Information and Software Technology, 2011, Vol. 53, No. 9, pp. 914-928.
[23] Al Dallal, J., Transitive-based object-oriented lack-of-cohesion metric, Procedia Computer Science (Elsevier), Volume 3, 2011, pp. 1581-1587.
[24] Al Dallal, J., Software similarity-based functional cohesion metric, IET Software, 2009, Vol. 3, No. 1, pp. 46-57.
[25] Al Dallal, J., The effects of incorporating special methods into cohesion measurement on class instantiation reuse-proneness prediction, IET Software, in press, 2014.