Evolution of Object Oriented Coupling Metrics: A Sampling of 25 Years of Research

Coupling is one of the most important properties that affect the quality of the design and implementation of a software system. In the context of object oriented software development, coupling metrics and their impact on quality attributes have been investigated for a quarter of a century. In this work we review and critically analyze the developments in this domain by considering 26 of the most influential research papers addressing object oriented coupling. Our analysis reveals that a very strong theoretical background has been already developed but unfortunately without a clear impact on the industry practices and software analysis tooling. Even more, recent developments fail to address this problem and seem to even contribute to increasing this gap. We argue that the direction of current research should be shifted towards systematizing and evaluating existing results rather than exploring new applicability domains and defining new metric suites.

[1]  Robert C. Martin,et al.  OO Design Quality Metrics , 1997 .

[2]  Martin Hitz,et al.  Measuring Product Attributes of Object-Oriented Systems , 1995, ESEC.

[3]  S. Demeyer,et al.  Analyzing large event traces with the help of a coupling metrics , 2004 .

[4]  Chris F. Kemerer,et al.  Towards a metrics suite for object oriented design , 2017, OOPSLA '91.

[5]  Premkumar T. Devanbu,et al.  An Investigation into Coupling Measures for C++ , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[6]  Mark Lorenz Object-Oriented Software Metrics , 1994 .

[7]  A. Gupta,et al.  Investigating object-oriented design metrics to predict fault-proneness of software modules , 2012, 2012 CSI Sixth International Conference on Software Engineering (CONSEG).

[8]  Sallie M. Henry,et al.  Maintenance metrics for the object oriented paradigm , 1993, [1993] Proceedings First International Software Metrics Symposium.

[9]  Hany H. Ammar,et al.  Dynamic metrics for object oriented designs , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

[10]  Victor R. Basili,et al.  A validation of object oriented metrics as quality indicators , 1996 .

[11]  Diana Bohm Essays On Object Oriented Software Engineering , 2016 .

[12]  Fernando Brito e Abreu,et al.  Object-Oriented Software Engineering: Measuring and Controlling the Development Process , 1994 .

[13]  Denys Poshyvanyk,et al.  Using Relational Topic Models to capture coupling among classes in object-oriented software systems , 2010, 2010 IEEE International Conference on Software Maintenance.

[14]  Taghi M. Khoshgoftaar,et al.  Measuring coupling and cohesion: an information-theory approach , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

[15]  Tibor Gyimóthy,et al.  Empirical validation of object-oriented metrics on open source software for fault prediction , 2005, IEEE Transactions on Software Engineering.

[16]  David P. Tegarden,et al.  Effectiveness of traditional software metrics for object-oriented systems , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[17]  Deepak Goyal,et al.  A hierarchical model for object-oriented design quality assessment , 2015 .

[18]  Colin J. Fidge,et al.  Security Metrics for Object-Oriented Designs , 2010, 2010 21st Australian Software Engineering Conference.

[19]  James F. Power,et al.  A study of the influence of coverage on the relationship between static and dynamic coupling metrics , 2006, Sci. Comput. Program..

[20]  A. Aloysius,et al.  Coupling Complexity Metric: A Cognitive Approach , 2012 .

[21]  Steve Counsell,et al.  A dynamic runtime coupling metric for meta-level architectures , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

[22]  Erik Arisholm Dynamic coupling measures for object-oriented software , 2002, Proceedings Eighth IEEE Symposium on Software Metrics.

[23]  James F. Power,et al.  Using object-level run-time metrics to study coupling between objects , 2005, SAC '05.

[24]  Norman Wilde,et al.  Maintenance support for object oriented programs , 1991, Proceedings. Conference on Software Maintenance 1991.

[25]  Lionel C. Briand,et al.  A Unified Framework for Coupling Measurement in Object-Oriented Systems , 1999, IEEE Trans. Software Eng..

[26]  Teri Roberts Metrics for object-oriented software development , 1992, OOPSLA '92.

[27]  James F. Power,et al.  An empirical investigation into the dimensions of run-time coupling in Java programs , 2004, PPPJ.

[28]  Lionel C. Briand,et al.  Dynamic coupling measurement for object-oriented software , 2004, IEEE Transactions on Software Engineering.

[29]  Horst Lichter,et al.  History and Lessons Learnt from a Metrics Program at a CMMI Level 3 Company , 2013, 2013 20th Asia-Pacific Software Engineering Conference (APSEC).

[30]  Abdelhak-Djamel Seriai,et al.  Quality-Centric Approach for Software Component Identification from Object-Oriented Code , 2012, 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture.

[31]  Michael R. Lyu,et al.  Some Coupling Measures for C++ Programs , 1992, TOOLS.

[32]  Yongxia Zhou,et al.  Complexity Metrics for Component-based Software Systems , 2011 .

[33]  Fernando Brito e Abreu,et al.  Evaluating the impact of object-oriented design on software quality , 1996, Proceedings of the 3rd International Software Metrics Symposium.

[34]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[35]  Horst Lichter,et al.  Run-Time Monitoring-Based Evaluation and Communication Integrity Validation of Software Architectures , 2014, 2014 21st Asia-Pacific Software Engineering Conference.