|Assessing the capability of internal metrics as early indicators of maintenance effort through experimentation|
Marcela Genero Bocco, Daniel L. Moody, Mario Piattini
Journal of Software Maintenance 17(3): 225-246 (2005)
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 28% 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.