Question
How does Maintainability Index help in finding Understandability of software modules?
I'm trying to compare MI with Cognitive complexity of modules.
All Answers (6)
-
Describe in a few words calculation or factors of MI n 2 Cognitive Complexity. Is a module an object , function or subsystem? -
Module is a function or a procedure
-
My purpose of asking this that
'Is there a way in which we can relate a measure of complexity of a s/w function to the maintainability or understandability or readability of that function"
Can some one please refer some good research papers on this -
Are you trying to apply Maintainability index on OO software. Some critiques to MI have been made by Kuipers and Visser [], arguing that its roots in structured programming could not fit well in object-oriented paradigm and that it is difficult to know how to improve system or class maintainability based on that composed measure.
Take a look in the following reference:
T. Kuipers, J. Visser “Maintainability index revisited”. In: Proceedings of 11th European Conference on Software Maintenance and Reengineering - CSMR. [S.l.]: IEEE Computer Society, 2007
My MSc. theses addressed initially the impact of software metrics in software maintainability, and I considered to use MI, but I give up after reading critiques on it. In some experiments, I could perceive that, on the context of corrective maintanence, MI does not correlate with defects counts and corrective changes as well as other simple metrics, like LOC, Cyclomatic Complexity and Efferent Coupling. -
Raymond P.L. Buse, Westley R. Weimer presented a paper on code readability : "Learning a Metric for Code Readability", TSE 2010, 36(4): 546-558. Hope it hepls.
-
Maintainability Index is identified in primitive way in structured programming. Such methods are not possible in the case of objected Oriented paradigms where multilateral dependency is a an issue. The MI introduced by T.R. Gopalakrishnan Nair, Selvarani has a method - now used by some industries- which calculates the MI with a polynomial containing measurable properties available in CK metrics. The related papers from them are available in ACM, IEEE explore, Cornell ArXiv, DBLP etc and could be easily used for studies and in industry