Abstract
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.
Similar content being viewed by others
References
Ambikadevi AT, Radhika N, Pramod VR (2014) Total interpretive structural modelling on enablers of cloud computing. Int J Res Eng Technol 3:398–406
Brown WJ, Malveau RC, Brown WH, McCormick HW III, Mowbray TJ (1998) Anti patterns: refactoring software, architectures, and projects in crisis, 1st edn. Wiley, Hoboken
Chatzigeorgiou A, Manakos A (2010) Investigating the evolution of code smells in object-oriented systems. Innov Syst Softw Eng. doi:10.1007/s11334-013-0205-z
Code Smells. [Online] https://sourcemaking.com/refactoring/smells
Dhillon PK, Sidhu G (2012) Can software faults be analysed using bad code smells? An empirical study. Int J Sci Res Publ 2(10):1–7
Emden EV and Moonen L (2001) Java quality assurance by detecting code smells. In: 9th working conference on reverse engineering, pp 97–106
Fontana FA, Braionea P, Zanonia M (2011) Automatic detection of bad smells in code: an experimental assessment. J Object Technol 11(2):1–38
Fowler M (1999) Refactoring: improving the design existing code. Addison Wesley, Boston
Gandhi A (2015) Critical success factors in ERP implementation and their interrelationship using TISM and MICMAC analysis. Indian J Sci Technol 8(S6):138–150
Jain V, Raj T (2015) Modelling and analysis of FMS flexibility factors by TISM and fuzzy MICMAC. Int J Syst Assur Eng Manag 6(3):350–371
Kapur PK, Nagpal S, Khatri SK (2014) Critical success factor utility based tool for ERP health assessment—a general framework. Int J Syst Assur Eng Manag 5(2):133–148
Khomh F, Di Penta M, Guéhéneuc Y (2009) An exploratory study of the impact of code smells on software change-proneness. In: Sixteenth working conference on reverse engineering, pp 75–84
Kim TW, Kim TG, Seu JH (2013) Specification and automated detection of code smells using OCL. Int J Softw Eng Appl 7(4):35–44
Mantyla M, Vanhanen J and Lassenius C (2003) A taxonomy and an initial empirical study of bad smells in code. In: Proceedings international conference software maintenance, pp 381–384
Pandiyavathi T, Manochandar T (2015) Sequential ordering of code smells and usage of heuristic algorithm. Indian J Sci Technol 8(S2):23–28
Pietrzak B and Walter B (2007) Leveraging code smell detection with inter-smell relations. In: Seventh international conference extreme programming and agile processes in software engineering, pp 75–84
Rani A, Kaur H (2014) Detection of bad smells in source code according to their object oriented metrics. Int J Technol Res Eng 1(10):1211–1214
Singh G, Chopra V (2013) A study of bad smells in code. Int J Sci Emerg Technol Latest Trends 7(91):16–20
Singh S, Kumar R, Kumar U (2015) Modelling factors affecting human operator failure probability in railway maintenance tasks: an ISM—based analysis. IJSAEM 6(2):129–138
Somerville I (2001) Software engineering, 6th edn. Addison-Wesley, Boston
Unleashing the Power of BizTalk Multipart Messages in BizTalk Server 2006/2006 R2/2009/2010. http://www.codeproject.com/ Articles/117356/Unleashing-the-Power-of-BizTalk-Multipart-Messages
Upadhyay P, Singh A, Garg N (2014) Modelling software maintainability and quality assurance in the Agile environment. Int J Database Theory Appl 7(3):83–90
Using Ports in Orchestrations. https://msdn.microsoft.com/en-us/library/ee253496(v=bts.10).aspx
Wake WC (2003) Refactoring workbook. Addison-Wesley, Boston
Yamashita A, Moonen L (2012) Do code smells reflect important maintainability aspects? In: 28th IEEE international conference on software maintenance, pp 306–315
Acknowledgments
Authors of this study are sincerely grateful to The Founder President of Amity University, Dr. Ashok K. Chauhan, who has overwhelmingly shown his keen interest in fostering research in the Amity Universe and has always been a motivation for achieving greater triumphs.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Gupta, V., Kapur, P.K. & Kumar, D. Modelling and measuring code smells in enterprise applications using TISM and two-way assessment. Int J Syst Assur Eng Manag 7, 332–340 (2016). https://doi.org/10.1007/s13198-016-0460-0
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13198-016-0460-0