(untitled) (International Journal of Engineering and Computer Science, 2017)
One of the major challenges to software industry today is to provide products with high degrees of quality and functionality. Maintainability is one such quality attribute that accounts for 40-70% of the total cost of the project. As the technology advances, a number of metrics such as CK (Chidamer & Kemerer), MOOD (Metrics for Object Oriented Design), Lorenz and Kidd Suite, etc have been proposed to predict quality characteristics such as maintainability, reliability, usability etc. Currently, software development is mostly based on object oriented paradigm. At the system level, there are patterns that represent the extent of use of encapsulation, inheritance, polymorphism or cooperation among classes which are closely related with the quality characteristics. By finding those patterns developer of a project can say that a certain design is more maintainable than another. Most of the Maintainability models proposed earlier are based on CK metrics. CK are class based metrics but MOOD metrics are project based and represents all the basic mechanisms of Object Oriented Paradigm. Size of project also plays a significant role in maintainability prediction. In particular, larger size systems are hard to analyze and understand. Earlier statistical models were proposed but nowadays machine learning techniques such as Artificial Neural Networks (ANN), fuzzy, neurofuzzy etc. are used. ANN is capable of modeling complex functions and has strong generalization ability. Hence, in this paper MOOD and size metric (Lines of Code) based ANN model is proposed to predict maintainability of a project early in the design phase.