Skip to main content
Log in

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

  • Original Article
  • Published:
International Journal of System Assurance Engineering and Management Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2

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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • Fowler M (1999) Refactoring: improving the design existing code. Addison Wesley, Boston

    MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • Singh G, Chopra V (2013) A study of bad smells in code. Int J Sci Emerg Technol Latest Trends 7(91):16–20

    Google Scholar 

  • 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

    MathSciNet  Google Scholar 

  • Somerville I (2001) Software engineering, 6th edn. Addison-Wesley, Boston

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Using Ports in Orchestrations. https://msdn.microsoft.com/en-us/library/ee253496(v=bts.10).aspx

  • Wake WC (2003) Refactoring workbook. Addison-Wesley, Boston

    Google Scholar 

  • Yamashita A, Moonen L (2012) Do code smells reflect important maintainability aspects? In: 28th IEEE international conference on software maintenance, pp 306–315

Download references

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

Authors

Corresponding author

Correspondence to Viral Gupta.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13198-016-0460-0

Keywords

Navigation