Theoretical Analysis of the Effect of Accounting for Special Methods in Similarity-Based Cohesion Measurement
Authors: Jehad Al Dallal
Abstract:
Class cohesion is an important object-oriented software quality attributes, and it refers to the degree of relatedness of class attributes and methods. Several class cohesion measures are proposed in the literature, and the impact 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 similarity-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. The study shows the importance of considering the types of methods that have to be accounted for when proposing a similarity-based cohesion measure.
Keywords: Object-oriented class, software quality, class cohesion measure, class cohesion, special methods.
Digital Object Identifier (DOI): doi.org/10.5281/zenodo.1091404
Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 1669References:
[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, 2013b, 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] Al Dallal, J., Mathematical Validation of Object-Oriented Class Cohesion Metrics, International Journal of Computers, 2010, Vol. 4, No. 2, pp. 45-52.
[8] Briand, L. C., Daly, J., and Wüst, J., A Unified Framework for Cohesion Measurement in Object-Oriented Systems, Empirical Software Engineering - An International Journal, Vol. 3, No. 1, 1998, pp. 65-117.
[9] 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.
[10] 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.
[11] 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 2011a.
[12] 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.
[13] 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.
[14] 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.
[15] Al Dallal, J., The Impact of Inheritance on the Internal Quality Attributes of Java Classes, Kuwait Journal of Science, 2012d, Vol. 39, No. 2A, pp. 131-154.
[16] Al Dallal, J., Incorporating Transitive Relations in Low-Level Design-Based Class Cohesion Measurement, Software: Practice and Experience, 2013a, Vol. 43. No. 6, pp. 685-704.
[17] Al Dallal, J., Fault Prediction and the Discriminative Powers of Connectivity-Based Object-Oriented Class Cohesion Metrics, Information and Software Technology, 2012b, Vol. 54, No. 4, pp. 396-416.
[18] Al Dallal, J., Constructing Models for Predicting Extract Subclass Refactoring Opportunities Using Object-Oriented Quality Metrics, Information and Software Technology, 2012a, 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, in press, 2012.
[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, 2012c, 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, 2011c, Vol. 37, No. 6, pp. 788-804.
[22] Al Dallal, J., Improving the Applicability of Object-Oriented Class Cohesion Metrics, Information and Software Technology, 2011b, 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, 2011d, pp. 1581-1587.
[24] Al Dallal, J., Software Similarity-Based Functional Cohesion Metric, IET Software, 2009, Vol. 3, No. 1, pp. 46-57.