Explore chapters and articles related to this topic
Software Engineering Paradigm for Real-Time Accurate Decision Making for Code Smell Prioritization
Published in Kavita Taneja, Harmunish Taneja, Kuldeep Kumar, Arvind Selwal, Eng Lieh Ouh, Data Science and Innovations for Intelligent Systems, 2021
Randeep Singh, Amit Bindal, Ashok Kumar
The aim of this phase of the proposed approach in Figure 3.1 is to perform subsequent appropriate refactoring for mitigating the prioritized code smells by suggesting various refactoring operations to the maintenance team members. The feature envy and long method code smell are handled using the proposed move method/field refactoring suggestions. The LPL code smell is handled by suggesting replace parameters with a method call. Extract class and/or extract interface refactoring is suggested for god class code smell. The refactoring done for the refused bequest code smells is termed an Extract Class that aims at putting all unimplemented methods and member variables of the base class into another separate class. Similarly, the shotgun surgery and duplicated code smell are handled using the Extract Class refactoring applied at the class level. This is done in order to keep the common code that is distributed at different places at a single place (newly extracted class).
Refactoring Support for Variability-intensive Systems
Published in Ivan Mistrik, Matthias Galster, Bruce R. Maxim, Software Engineering for Variability Intensive Systems, 2019
Vahid Alizadeh, Marouane Kessentini, Bruce R. Maxim
Moha et al. [26] proposed an approach that suggests refactorings using formal concept analysis (FCA) to correct detected code smells. This work combines the efficiency of cohesion/coupling metrics with FCA to suggest refactoring opportunities. However, the link between code smells detection and correction is not obvious, which make the inspection difficult for the maintainers. Similarly, Joshi et al. [41] have presented an approach based on concept analysis aimed at identifying less-cohesive classes. It also helps identify less-cohesive methods, attributes and classes in one go. Further, the approach guides refactoring opportunity identification such as extract class, move method, localize attributes and remove unused attributes.
Proactively managing clones inside an IDE: a systematic literature review
Published in International Journal of Computers and Applications, 2022
Sarveshwar Bharti, Hardeep Singh
Jdeodorant: Jdeodorant is an open source tool available online developed by Marios Fokaefs et al. [22,55]. Jdeodorant is available as an Eclipse plug-in. This tool is used to detect the software design problems i.e. it is used to identify the bad smells in the software systems. To resolve these problems, appropriate refactoring is applied viz. ‘move method’ to resolve the ‘feature envy’ problem. To resolve state checking, ‘replacing conditionals by polymorphism’ and strategy involving ‘replacing type code with strategy/state’ refactoring is applied. ‘Extract method’ and ‘extract class’ refactoring is applied to resolve the problem of ‘long method’ and ‘god class’ respectively.