Software continues to change along the course of its life-cycle, either due to day to day maintenance issues such as bug fixes, or in a rather planned fashion to evolve into a more capable product. Software maintainability (‘maintainability’ from here on), the ease with which these changes can be made, constitutes the lion’s share of software development costs [1,2]. Poor maintainability may also negatively affect the reliability of changed products and delay time to market limiting potential business opportunities [3]. (Source: International Journal of Medical Informatics).