Using indirect coupling metrics to predict package maintainability and testability

We developed the metrics based on Martin's principles and indirect responsibility.The new developed indirect coupling metrics are tested and validated.The experimental study includes seven large well-known open source systems.The new metrics are highly correlated to maintenance and testing effort.The metrics can in early design help predict maintenance and testing effort. Object-oriented systems are dynamic and have to be constantly maintained, or they become aged and irrelevant. Many costly software issues exist due to poorly designed systems and due to systems which are not easy to test or maintain because of poor designs. Martin's metrics (Martin, 2003) are well-known package design metrics that can be used in early stages of software development. However, since Martin's metrics only measure direct coupling, the authors believe that this limits their accuracy. In previous papers (Almugrin et al., 2014; Almugrin and Melton), we began with Martin's principles and used them to modify his coupling, instability and abstractness metrics based on direct and indirect coupling, respectively. In this paper, we present an experimental study to validate the modified global metrics by showing their relationship to maintainability and testability, and then we construct prediction models for these two external quality attributes. The study results indicate that the new metrics are very promising and lead to improved results.

[1]  Austin Melton,et al.  Indirect Package Coupling Based on Responsibility in an Agile, Object-Oriented Environment , 2015, 2015 Second International Conference on Trustworthy Systems and Their Applications.

[2]  K. V. Kale,et al.  Assessment of Package Cohesion and Coupling Principles for Predicting the Quality of Object Oriented Design , 2007, 2006 1st International Conference on Digital Information Management.

[3]  Edwin Hautus,et al.  IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS , 2002 .

[4]  Junliang Chen,et al.  Ripple effect in SDL specification , 1996, Proceedings of International Conference on Communication Technology. ICCT '96.

[5]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[6]  Alex Bavelas,et al.  Communication Patterns in Task‐Oriented Groups , 1950 .

[7]  Lionel C. Briand,et al.  Investigating quality factors in object-oriented designs: an industrial case study , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[8]  John W. Daly,et al.  Evaluating inheritance depth on the maintainability of object-oriented software , 2004, Empirical Software Engineering.

[9]  Yuming Zhou,et al.  Measuring Package Cohesion Based on Context , 2008, IEEE International Workshop on Semantic Computing and Systems.

[10]  Ewan D. Tempero,et al.  The CRSS Metric for Package Design Quality , 2007, ACSC.

[11]  Robert J. Winter Cpt Agile Software Development: Principles, Patterns, and Practices , 2014 .

[12]  Robert C. Martin Agile Software Development, Principles, Patterns, and Practices , 2002 .

[13]  Ramanath Subramanyam,et al.  Empirical Analysis of CK Metrics for Object-Oriented Design Complexity: Implications for Software Defects , 2003, IEEE Trans. Software Eng..

[14]  Mei-Hwa Chen,et al.  An empirical study on object-oriented metrics , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

[15]  Meir M. Lehman,et al.  Laws of Software Evolution Revisited , 1996, EWSPT.

[16]  Lionel C. Briand,et al.  A Unified Framework for Cohesion Measurement in Object-Oriented Systems , 1997, Proceedings Fourth International Software Metrics Symposium.

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

[18]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[19]  James M. Bieman,et al.  How Software Designs Decay: A Pilot Study of Pattern Evolution , 2007, First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007).

[20]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[21]  Ville Leppänen,et al.  A Validation of Martin's Metric , 2009 .

[22]  V. Lakshmi Narasimhan,et al.  Some theoretical considerations for a suite of metrics for the integration of software components , 2007, Inf. Sci..

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

[24]  David W. Hosmer,et al.  Applied Logistic Regression , 1991 .

[25]  Geert Poels,et al.  DISTANCE: a framework for software measure construction , 1999 .

[26]  Mario Piattini,et al.  A Survey of Metrics for UML Class Diagrams , 2005, J. Object Technol..

[27]  Austin Melton,et al.  Instability and Abstractness Metrics Based on Responsibility , 2014, 2014 IEEE 38th Annual Computer Software and Applications Conference.

[28]  Jens H. Weber,et al.  Predicting maintainability with object-oriented metrics -an empirical comparison , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[29]  Lionel C. Briand,et al.  A Comprehensive Empirical Validation of Product Measures for Object-Oriented Systems , 1998 .

[30]  John Stuart Lakos,et al.  Large-Scale C++ Software Design , 1996 .

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

[32]  Jerry Zeyu Gao,et al.  A component testability model for verification and measurement , 2005, 29th Annual International Computer Software and Applications Conference (COMPSAC'05).

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

[34]  Maria Laura Ponisio,et al.  Exploiting Client Usage to Manage Program Modularity , 2006 .

[35]  Sandro Morasca A probability-based approach for measuring external attributes of software artifacts , 2009, ESEM 2009.

[36]  Lawrence H. Putnam,et al.  A General Empirical Solution to the Macro Software Sizing and Estimating Problem , 1978, IEEE Transactions on Software Engineering.

[37]  Arvinder Kaur,et al.  Application of Artificial Neural Network for Predicting Maintainability Using Object-Oriented Metrics , 2008 .

[38]  James M. Bieman,et al.  A multiple case study of design pattern decay, grime, and rot in evolving software systems , 2012, Software Quality Journal.

[39]  James M. Bieman,et al.  Testing Consequences of Grime Buildup in Object Oriented Design Patterns , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[40]  Sandip C. Patel,et al.  A metrics-based software maintenance effort model , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

[41]  Manuel J. Barranco García,et al.  A Method for Estimating Maintenance Cost in a Software Project: A Case Study , 1997, J. Softw. Maintenance Res. Pract..

[42]  Elaine J. Weyuker,et al.  Evaluating Software Complexity Measures , 2010, IEEE Trans. Software Eng..

[43]  L. Erlikh,et al.  Leveraging legacy system dollars for e-business , 2000 .

[44]  Guido Menkhaus,et al.  Metric Suite Directing the Failure Mode Analysis of Embedded Software Systems , 2005, ICEIS.

[45]  John C. Champaign An Empirical Study of Software Packaging Stability , 2003 .

[46]  Sandro Morasca,et al.  Measuring and assessing maintainability at the end of high level design , 1993, 1993 Conference on Software Maintenance.

[47]  Travis Steven. Schanz A TAXONOMY OF MODULAR GRIME IN DESIGN PATTERNS , 2011 .

[48]  Meir M. Lehman,et al.  On understanding laws, evolution, and conservation in the large-program life cycle , 1984, J. Syst. Softw..

[49]  Grady Booch,et al.  Object-oriented analysis and design with applications (2nd ed.) , 1993 .

[50]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[51]  Jehad Al Dallal Object-oriented class maintainability prediction using internal quality attributes , 2013, Inf. Softw. Technol..

[52]  Stéphane Ducasse,et al.  Butterflies: a visual approach to characterize packages , 2005, 11th IEEE International Software Metrics Symposium (METRICS'05).

[53]  Mourad Badri,et al.  Exploring Empirically the Relationship between Lack of Cohesion and Testability in Object-Oriented Systems , 2010, FGIT-ASEA.

[54]  Lionel C. Briand,et al.  A Comprehensive Investigation of Quality Factors in Object-Oriented Designs: an Industrial Case Study , 1998 .

[55]  Dewayne E. Perry,et al.  Metrics and laws of software evolution-the nineties view , 1997, Proceedings Fourth International Software Metrics Symposium.

[56]  Standard Glossary of Software Engineering Terminology , 1990 .

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

[58]  Grady Booch,et al.  Object-Oriented Analysis and Design with Applications , 1990 .

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

[60]  Sergey Brin,et al.  The Anatomy of a Large-Scale Hypertextual Web Search Engine , 1998, Comput. Networks.