Measuring Code Smells and Anti-Patterns

Code smells are the design problems of software that are categorized under the names like smells, code scattering, code flaws, code tangling and code non-complying to design principles, etc. It highlights a deeper problem and significant issues in the software design model. As soon as these design problems are discovered, it has to be rectified by applying suitable refactoring techniques and improving various aspects concerning quality such as ability to maintain easily, comprehend better and reuse. The reason to rectify smells is that the existence of smells in the code can lead to downfall showcasing negative implications on the overall software functionality and the quality of software which increases the overall maintenance and a lot of cost goes waste in this process. In this paper, the recent advances and refactoring tools are being deployed to identify non-essential code smells, demarcate the existence and evolution of smells by analyzing previous versions and new versions of code.

[1]  Lionel C. Briand,et al.  A practical guide for using statistical tests to assess randomized algorithms in software engineering , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[2]  Bartosz Walter,et al.  Leveraging Code Smell Detection with Inter-smell Relations , 2006, XP.

[3]  Tracy Hall,et al.  Code Bad Smells: a review of current knowledge , 2011, J. Softw. Maintenance Res. Pract..

[4]  Audris Mockus,et al.  Quantifying the Effect of Code Smells on Maintenance Effort , 2013, IEEE Transactions on Software Engineering.

[5]  Cláudio Sant'Anna,et al.  On the Effectiveness of Concern Metrics to Detect Code Smells: An Empirical Study , 2014, CAiSE.

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

[7]  S. Kaur,et al.  Identification and Refactoring of Bad Smells to Improve Code Quality , 2015 .

[8]  Arie van Deursen,et al.  Detecting code smells in spreadsheet formulas , 2011, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[9]  Iftekhar Ahmed,et al.  Understanding Code Smells in Android Applications , 2016, 2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft).

[10]  Katsuro Inoue,et al.  Multi-Criteria Code Refactoring Using Search-Based Software Engineering , 2016, ACM Trans. Softw. Eng. Methodol..

[11]  C. Chandrasekar,et al.  An empirical investigation into code smells rectifications through ADA_BOOSTER , 2019 .

[12]  Pieter Van Gorp,et al.  A discussion of refactoring in research and practice , 2004 .

[13]  Forrest Shull,et al.  Building empirical support for automated code smell detection , 2010, ESEM '10.

[14]  Ruben Wangberg A Literature Review on Code Smells and Refactoring , 2010 .

[15]  Francesca Arcelli Fontana,et al.  Automatic Metric Thresholds Derivation for Code Smell Detection , 2015, 2015 IEEE/ACM 6th International Workshop on Emerging Trends in Software Metrics.

[16]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

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

[18]  Tom Mens,et al.  A survey of software refactoring , 2004, IEEE Transactions on Software Engineering.

[19]  Zhendong Niu,et al.  Schedule of Bad Smell Detection and Resolution: A New Way to Save Effort , 2012, IEEE Transactions on Software Engineering.

[20]  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.

[21]  Jean-Marc Jézéquel,et al.  Refactoring UML Models , 2001, UML.

[22]  Amandeep Kaur,et al.  A Review on Search-Based Tools and Techniques to Identify Bad Code Smells in Object-Oriented Systems , 2018, Harmony Search and Nature Inspired Optimization Algorithms.

[23]  Thomas J. Mowbray,et al.  AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis , 1998 .

[24]  Mesfin Abebe,et al.  Trends, Opportunities and Challenges of Software Refactoring: A Systematic Literature Review , 2014 .

[25]  Deepti Mehrotra,et al.  Analysis of code smell to quantify the refactoring , 2017, Int. J. Syst. Assur. Eng. Manag..

[26]  Tom Mens,et al.  Refactoring: Current Research and Future Trends , 2003, LDTA@ETAPS.

[27]  Marouane Kessentini Understanding the Correlation between Code Smells And Software Bugs , 2019 .

[28]  Daniela Cruzes,et al.  The evolution and impact of code smells: A case study of two open source systems , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.