Empirical Exploration for the Correlation between Class Object-Oriented Connectivity-Based Cohesion and Coupling

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.


Authors:



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