Reducing Maintenance Efforts of Developers by Prioritizing Different Code Smells
Randeep Singh1, Dr. Amit Bindal2, Dr. Ashok Kumar3

1Randeep Singh, Research Scholar, Department of Computer Science & Engineering, Maharishi Markandeshwar (Deemed to be University), Mullana- Ambala, Haryana,  India.

2Dr. Amit Bindal, Assoc. Professor, Department of Computer Science & Engineering, Maharishi Markandeshwar (Deemed to be University), Mullana- Ambala, Haryana, India.

3Dr. Ashok Kumar, Ex-Professor, Department of Computer Science & Engineering, Maharishi Markandeshwar (Deemed to be University), Mullana-Ambala, Haryana, India.

Manuscript received on 08 June 2019 | Revised Manuscript received on 13 June 2019 | Manuscript Published on 08 July 2019 | PP: 139-144 | Volume-8 Issue-8S3 June 2019 | Retrieval Number: H10380688S319/19©BEIESP

Open Access | Editorial and Publishing Policies | Cite | Mendeley | Indexing and Abstracting
© The Authors. Blue Eyes Intelligence Engineering and Sciences Publication (BEIESP). This is an open-access article under the CC-BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/)

Abstract: An architectural problem associated with a software system constantly affects the evolving system. These architectural problems are symptoms of different code smells that must be removed using refactoring. The refactoring efforts are directly associated with the maintenance cost of the software system. This cost can be minimized or optimized by prioritizing different code smells. Prioritization helps tackle only a subset of code smells and hence minimize the maintenance cost. This makes code smells ranking and prioritization an important research area and is tackled in this paper. This paper proposes a new approach that is capable of ranking the existing code smells. This prioritization is based on the newly proposed metric based on three identified key criteria. Firstly, the severity of a code smells based on the change-history of a software system. Secondly, the association of the code smells with the improvement in the understandability of the software system. Thirdly, the importance of a developer’s feedback for a given code smells associated with a class in the software system. The feasibility of the proposed approach is tested and evaluated on an open-source Java software system.

Keywords: Code Smell, Identification, Prioritization, Change-History, Cognitive Complexity, User Feedback.
Scope of the Article: Systems and Software Engineering