Modelling and measuring code smells in enterprise applications using TISM and two-way assessment

Code smells are the faults in design that reduces the code maintainability. It is essential to identify and control these code smells during the design and development stages of enterprise application implementation in order to achieve higher code maintainability and quality. This research paper presents a framework that engages in modelling and measuring various code smells so that practitioners can focus their efforts on most critical code smells and thus achieve higher code maintainability and quality. The framework uses Total Interpretive Structural Modelling (TISM) for modelling and structuring various code smells. TISM helps in identifying Interrelationship among these code smells. Using MICMAC analysis, these code smells are classified into four clusters based on their driving power and dependence power. Two-way assessment helps in measuring the code smells by deriving the utility measure based on the expert opinion of two set of stakeholders. An experiment is conducted on an enterprise application project and code smells are measured using two-way assessment. It is demonstrated that the code smells having high driving power are optimized which resulted in the elevation of the overall code maintainability of the enterprise applications. The proposed framework optimizes the process of enhancing the overall code maintainability by identification of most critical code smells having higher driving power and then optimizing them.

[1]  Abhishek Singh,et al.  Modeling Software Maintainability and Quality Assurance in the Agile Environment , 2014 .

[2]  Tilak Raj,et al.  Modeling and analysis of FMS flexibility factors by TISM and fuzzy MICMAC , 2015, Int. J. Syst. Assur. Eng. Manag..

[3]  T. Pandiyavathi,et al.  Sequential Ordering of Code Smells and Usage of Heuristic Algorithm , 2015 .

[4]  Preet Kamal Dhillon,et al.  Can Software Faults be Analyzed using Bad Code Smells? : An Empirical Study , 2012 .

[5]  Uday Kumar,et al.  Modelling factors affecting human operator failure probability in railway maintenance tasks: an ISM-based analysis , 2015, Int. J. Syst. Assur. Eng. Manag..

[6]  William C. Wake,et al.  Refactoring Workbook , 2003 .

[7]  Mika Mäntylä,et al.  A taxonomy and an initial empirical study of bad smells in code , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[8]  Alexander Chatzigeorgiou,et al.  Investigating the evolution of code smells in object-oriented systems , 2014, Innovations in Systems and Software Engineering.

[9]  Aradhana Gandhi,et al.  Critical Success Factors in ERP Implementation and their Interrelationship Using TISM and MICMAC Analysis , 2015 .

[10]  P. K. Kapur,et al.  Critical success factor utility based tool for ERP health assessment: a general framework , 2014, Int. J. Syst. Assur. Eng. Manag..

[11]  Aiko Fallas Yamashita,et al.  Do code smells reflect important maintainability aspects? , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[12]  Leon Moonen,et al.  Java quality assurance by detecting code smells , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..

[13]  Tae-Woong Kim,et al.  Specification and Automated Detection of Code Smells using OCL , 2013 .

[14]  Foutse Khomh,et al.  An Exploratory Study of the Impact of Code Smells on Software Change-proneness , 2009, 2009 16th Working Conference on Reverse Engineering.

[15]  Francesca Arcelli Fontana,et al.  Automatic detection of bad smells in code: An experimental assessment , 2012, J. Object Technol..

[16]  Ian Sommerville,et al.  Software engineering (6th ed.) , 2001 .

[17]  N. Radhika,et al.  TOTAL INTERPRETIVE STRUCTURAL MODELLING ON ENABLERS OF CLOUD COMPUTING , 2014 .