Assessing the capability of internal metrics as early indicators of maintenance effort through experimentation: Research Articles

The complexity of software artifacts is widely believed to be an important determinant of maintenance effort. This paper conducts an experimental analysis of the impact of complexity on the maintenance of the Unified Modeling Language (UML) class diagrams. This represents an analysis of the effect of an internal quality attribute on an external quality attribute. A range of complexity metrics are proposed based on an ontological analysis of the UML language and previous research. The relative influence of these metrics on maintenance effort is then evaluated using a laboratory experiment. A within-subjects design was used, with subjects required to modify a range of UML class diagrams with different levels of complexity. Only two of the metrics emerged as significant determinants of maintenance effort: number of methods and number of associations. Together these explain around 28p of the variation in maintenance effort. While these findings are encouraging, further research is necessary to explore the ability of these metrics to predict maintenance effort. Copyright © 2005 John Wiley & Sons, Ltd.

[1]  Paul W. Oman,et al.  Development and Application of an Automated Source Code Maintainability Index , 1997, J. Softw. Maintenance Res. Pract..

[2]  Mario Piattini,et al.  Using Metrics to Predict OO Information Systems Maintainability , 2001, CAiSE.

[3]  James R. Evans,et al.  The management and control of quality , 1989 .

[4]  Daniel L. Moody,et al.  Comparative Evaluation of Large Data Model Representation Methods: The Analyst's Perspective , 2002, ER.

[5]  Paolo Nesi,et al.  Estimation and Prediction Metrics for Adaptive Maintenance Effort of Object-Oriented Systems , 2001, IEEE Trans. Software Eng..

[6]  Bill C. Hardgrave,et al.  Comparing Object-Oriented and Extended-Entity-Relationship Data Models , 1995 .

[7]  Jr. Frederick P. Brooks,et al.  The Mythical Man-Month: Essays on Softw , 1978 .

[8]  Norman E. Fenton,et al.  Software metrics: roadmap , 2000, ICSE '00.

[9]  Peretz Shoval,et al.  Database schema design: an experimental comparison between normalization and information analysis , 1987, DATB.

[10]  Gerald M. Weinberg,et al.  Psychology of computer programming , 1971 .

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

[12]  Michelle Cartwright,et al.  An empirical view of inheritance , 1998, Inf. Softw. Technol..

[13]  Rachel Harrison,et al.  Experimental assessment of the effect of inheritance on the maintainability of object-oriented systems , 2000, J. Syst. Softw..

[14]  Horst Zuse,et al.  A Framework of Software Measurement , 1998 .

[15]  Keng Siau,et al.  The Complexity of Unified Modeling Language: A GOMS Analysis , 2001, ICIS.

[16]  Lionel C. Briand,et al.  Modeling Development Effort in Object-Oriented Systems Using Design Properties , 2001, IEEE Trans. Software Eng..

[17]  Ewart R. Carson,et al.  Dealing with complexity: an introduction to the theory & applications of systemsscience , 1988 .

[18]  Norman E. Fenton,et al.  Software Metrics: A Rigorous Approach , 1991 .

[19]  Charles R. Symons,et al.  Function Point Analysis: Difficulties and Improvements , 1988, IEEE Trans. Software Eng..

[20]  Rachel Harrison,et al.  Coupling metrics for object-oriented design , 1998, Proceedings Fifth International Software Metrics Symposium. Metrics (Cat. No.98TB100262).

[21]  Graeme G. Shanks,et al.  The challenges of strategic data planning in practice: an interpretive case study , 1997, J. Strateg. Inf. Syst..

[22]  Letha H. Etzkorn,et al.  Design and Code Complexity Metrics for OO Classes , 2003 .

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

[24]  Mario Piattini,et al.  Early Measures for UML Class Diagrams , 2000, Obj. Logiciel Base données Réseaux.

[25]  Gordon B. Davis,et al.  Management information systems : conceptual foundations, structure, and development , 1985 .

[26]  G. A. Miller THE PSYCHOLOGICAL REVIEW THE MAGICAL NUMBER SEVEN, PLUS OR MINUS TWO: SOME LIMITS ON OUR CAPACITY FOR PROCESSING INFORMATION 1 , 1956 .

[27]  Douglas B. Bock,et al.  Accuracy in Modeling with Extended Entity Relationship and Object Oriented Data Models , 1993 .

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

[29]  Graeme G. Shanks,et al.  Representing things and properties in conceptual modelling: an empirical evaluation , 2003, ECIS.

[30]  R. Rosenthal,et al.  Assessing the statistical and social importance of the effects of psychotherapy. , 1983, Journal of consulting and clinical psychology.

[31]  A. Baddeley The magical number seven: still magic after all these years? , 1994, Psychological review.

[32]  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.

[33]  Martha E. Crosby,et al.  The effect of graphic style on data model interpretation , 1999, Inf. Syst. J..

[34]  Elazar J. Pedhazur,et al.  Measurement, Design, and Analysis: An Integrated Approach , 1994 .

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

[36]  Robert P. Bostrom,et al.  Comparing representations with relational and EER models , 1990, Commun. ACM.

[37]  Ned Chapin,et al.  Types of software evolution and software maintenance , 2001, J. Softw. Maintenance Res. Pract..

[38]  Donald B. Rubin,et al.  A Note on Percent Variance Explained as A Measure of the Importance of Effects , 1979 .

[39]  J. Jacoby,et al.  Brand Choice Behavior as a Function of Information Load , 1974 .

[40]  Keng Siau,et al.  Unified Modeling Language: A Complexity Analysis , 2001, J. Database Manag..

[41]  Earl R. Babbie,et al.  The practice of social research , 1969 .

[42]  Carl G. Davis,et al.  A Hierarchical Model for Object-Oriented Design Quality Assessment , 2002, IEEE Trans. Software Eng..

[43]  J. Sweller COGNITIVE LOAD THEORY, LEARNING DIFFICULTY, AND INSTRUCTIONAL DESIGN , 1994 .

[44]  Janice Singer Practices of software maintenance , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[45]  Michele Marchesi OOA metrics for the Unified Modeling Language , 1998, Proceedings of the Second Euromicro Conference on Software Maintenance and Reengineering.

[46]  Geert Poels,et al.  Evaluating the effect of inheritance on the modifiability of object-oriented business domain models , 2001, Proceedings Fifth European Conference on Software Maintenance and Reengineering.

[47]  Jon Heales,et al.  Factors affecting information system volatility , 2000, ICIS.

[48]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[49]  Geert Poels,et al.  Distance-based software measurement: necessary and sufficient properties for software measures , 2000, Inf. Softw. Technol..

[50]  Daniel L. Moody,et al.  Complexity effects on end user understanding of data models : An experimental comparison of large data model representation methods , 2002, ECIS.

[51]  Christopher Alexander Notes on the Synthesis of Form , 1964 .

[52]  Thomas M. Pigoski Practical Software Maintenance: Best Practices for Managing Your Software Investment , 1996 .

[53]  Ron Weber,et al.  Should Optional Properties Be Used in Conceptual Modelling? A Theory and Three Empirical Tests , 2001, Inf. Syst. Res..

[54]  Heeseok Lee,et al.  A Comparative Study of Conceptual Data Modeling Techniques , 1998, J. Database Manag..

[55]  Peretz Shoval,et al.  Entity-Relationship and Object-Oriented Data Modeling-an Experimental Comparison of Design Quality , 1997, Data Knowl. Eng..

[56]  Michiel van Genuchten,et al.  Empirical study of software maintenance , 1992, Inf. Softw. Technol..

[57]  R. Rosenthal,et al.  Mediation of interpersonal expectancy effects: 31 meta-analyses. , 1985 .

[58]  Ron Weber,et al.  Are Attributes Entities? A Study of Database Designers' Memory Structures , 1996, Inf. Syst. Res..

[59]  Sasa M. Dekleva,et al.  The Influence of the Information Systems Development Approach on Maintenance , 1992, MIS Q..

[60]  P. Chandler,et al.  Cognitive Load While Learning to Use a Computer Program , 1996 .

[61]  Hans van Vliet,et al.  Software engineering (2nd ed.): principles and practice , 2000 .

[62]  P. Oman,et al.  Metrics for assessing a software system's maintainability , 1992, Proceedings Conference on Software Maintenance 1992.

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

[64]  John C. Munson,et al.  Software Engineering Measurement , 2003 .

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

[66]  Z. J. Lipowski,et al.  Sensory and information inputs overload: behavioral effects. , 1975, Comprehensive psychiatry.

[67]  Lowell Jay Arthur,et al.  Measuring Programmer Productivity and Software Quality , 1985 .