A pair of coupling metrics for software networks

Complex networks are everywhere. A typical example is software network. How to measure and control coupling interactions of software components is a largely explored research problem in software network. In terms of graph theory and linear algebra, this paper investigates a pair of coupling metrics to evaluate coupling interactions between the classes of object-oriented systems. These metrics differ from the majority of existing metrics in three aspects: Taking into account the strength that one class depends on other ones, reflecting indirect coupling, and distinguishing various coupling interaction. An empirical comparison of the novel measures with one of the most widely used coupling metrics is described. Specifically, an experiment about the relationships of this pair metrics is conducted. The result shows that software complexity derived from coupling interaction could not be accurately reflected by one dimension of coupling metric for negative correlation.

[1]  Kurt Bryan,et al.  The $25,000,000,000 Eigenvector: The Linear Algebra behind Google , 2006, SIAM Rev..

[2]  Khaled El Emam,et al.  The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics , 2001, IEEE Trans. Software Eng..

[3]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

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

[5]  Stephen R. Schach,et al.  Validation of the coupling dependency metric as a predictor of run-time failures and maintenance measures , 1998, Proceedings of the 20th International Conference on Software Engineering.

[6]  S. Strogatz Exploring complex networks , 2001, Nature.

[7]  Will Venters,et al.  Software engineering: theory and practice , 2006 .

[8]  Guanrong Chen,et al.  Chaos synchronization of general complex dynamical networks , 2004 .

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

[10]  Albert-László Barabási,et al.  Statistical mechanics of complex networks , 2001, ArXiv.

[11]  Lionel C. Briand,et al.  Using coupling measurement for impact analysis in object-oriented systems , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[12]  Victor R. Basili,et al.  A Validation of Object-Oriented Design Metrics as Quality Indicators , 1996, IEEE Trans. Software Eng..

[13]  Glenford J. Myers,et al.  Software Reliability: Principles and Practices , 1976 .

[14]  Lionel C. Briand,et al.  Exploring the relationships between design measures and software quality in object-oriented systems , 2000, J. Syst. Softw..

[15]  Daizhan Cheng,et al.  Characterizing the synchronizability of small-world dynamical networks , 2004, IEEE Transactions on Circuits and Systems I: Regular Papers.

[16]  C. K. Michael Tse,et al.  Characterizing the Structural Quality of General Complex Software Networks , 2008, Int. J. Bifurc. Chaos.

[17]  Guanrong Chen,et al.  A time-varying complex dynamical network model and its controlled synchronization criteria , 2005, IEEE Transactions on Automatic Control.

[18]  Peng Liang,et al.  Design Methodology of Networked Software Evolution Growth Based on Software Patterns , 2006, J. Syst. Sci. Complex..

[19]  Miguel Goulão,et al.  Toward the Design Quality Evaluation of Object-Oriented Software Systems , 1995 .

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

[21]  Junan Lu,et al.  Pinning adaptive synchronization of a general complex dynamical network , 2008, Autom..

[22]  Junan Lu,et al.  Adaptive synchronization of an uncertain complex dynamical network , 2006, IEEE Transactions on Automatic Control.

[23]  Martin Hitz,et al.  Measuring coupling and cohesion in object-oriented systems , 1995 .

[24]  Sallie M. Henry,et al.  Object-oriented metrics that predict maintainability , 1993, J. Syst. Softw..

[25]  Huan Li,et al.  Dynamical evolution analysis of the object-oriented software systems , 2008, 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence).