2017Unpublished venueRequires access

Evolution of code smells over multiple versions of softwares: An empirical investigation

Anshul Rani, Jitender Kumar Chhabra

Open publisher page 16 citations

Abstract

The symptoms which reflect the poor design quality of code are known as code smells. Refactoring is one of the possible ways to remove code smells, but refactoring does not come for free to developer. So there is a need to have efficient refactoring strategies. For this purpose an empirical study on distribution of different code smells over different versions of projects is provided in this paper, so that refactoring strategies can be built keeping in a view that which smell is more effective and at which time during evolution of software. For experiment, different versions of Junit, GCviewer and Gitblit have been taken. To detect the smells and violations in code JDeodorant and PMD tools are used. Study shows that a) Latest version of software has more design issues than that of oldest ones; b) God smell and urgent violations have more contribution than other smells whereas instances having Type Checking smell are very less in all the versions. Study shows that initial version of project can be used as reference architecture for purpose of reverse Engineering. We also found that Gitblit has better code design than that of other two softwares.

About this research paper

What this paper is about

The symptoms which reflect the poor design quality of code are known as code smells. Refactoring is one of the possible ways to remove code smells, but refactoring does not come for free to developer. So there is a need to have efficient refactoring strategies. For this purpose an empirical study on distribution of different code smells over different versions of projects is provided in this paper, so that refactoring strategies can be built keeping in a view that which smell is more effective and at which time during evolution of software. For experiment, different versions of Junit, GCviewer and Gitblit have been taken. To detect the smells and violations in code JDeodorant and PMD tools are used. Study shows that a) Latest version of software has more design issues than that of oldest ones; b) God smell and urgent violations have more contribution than other smells whereas instances having Type Checking smell are very less in all the versions. Study shows that initial version of project can be used as reference architecture for purpose of reverse Engineering. We also found that Gitblit has better code design than that of other two softwares.

Why it matters

OpenAlex reports 16 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

The symptoms which reflect the poor design quality of code are known as code smells. Refactoring is one of the possible ways to remove code smells, but refactoring does not come for free to developer. So there is a need to have efficient refactoring strategies. For this purpose an empirical study on distribution of different code smells over different versions of projects is provided in this paper, so that refactoring strategies can be built keeping in a view that which smell is more effective and at which time during evolution of software. For experiment, different versions of Junit, GCviewer and Gitblit have been taken. To detect the smells and violations in code JDeodorant and PMD tools are used. Study shows that a) Latest version of software has more design issues than that of oldest ones; b) God smell and urgent violations have more contribution than other smells whereas instances having Type Checking smell are very less in all the versions. Study shows that initial version of project can be used as reference architecture for purpose of reverse Engineering. We also found that Gitblit has better code design than that of other two softwares.

Key concepts: Code smell, Code refactoring, Computer science, Code (set theory), Software engineering, Programming language, Static program analysis, Software

Related papers

Back to paper searchBrowse research topicsOriginal source
Evolution of code smells over multiple versions of softwares: An empirical investigation — Research Paper | ScholarLens