The Community for Technology Leaders
The Maintainability Index (MI) metric was proposed in the early nineties to gauge ease of code maintenance. A high value of MI indicates well-constructed code which is easy to maintain and a low MI, the opposite. The metric has been criticized in the past and more recently for its applicability to code and validity more generally. Very few studies however have explored whether the MI correlates strongly with class features such as coupling, defects or size - features of object-oriented (OO) classes which are acknowledged to be surrogates of maintenance complexity. We explore the relationship between the MI and these four perspectives. Three releases of two Eclipse projects were used as the empirical basis of the study and the JHawk tool was used to extract class-based metrics. Significant correlations were found between class features and the MI for all class features except fan-in which measures incoming coupling and determined externally by 'using' classes, however, further exploration of the data revealed that the application of the MI to an OO paradigm was not particularly successful, due primarily to the influence of class size. For OO systems, we would thus warn against the use of MI as a measure of maintenance.
(Ver 3.3 (11022016))