A large number of metrics have been proposed for measuring properties of object-oriented software such as size, inheritance, cohesion and coupling. We have been investigating which of these object-oriented metrics can be used as significant predictors for the maintainability of software. For this purpose, we have designed and conducted an empirical study based on historical data collected from the maintenance history of a medium-sized object-oriented system. Unlike most related studies, indirect coupling has also been taken into account in our work in order to evaluate its impact. Our study uses the maintenance history of two software systems as evidence base for linking software quality attributes to metrics suggested for object-oriented software. Our results indicate that size and import direct coupling metrics are significant predictors for measuring maintainability of classes while inheritance, cohesion, and indirect/export coupling measures are not.
Melis Dagpinar, Jens H. Jahnke