Theoretical Exploration for the Impact of Accounting for Special Methods in Connectivity-Based Cohesion Measurement

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.


Authors:



References:
[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.