article Open access

The Scent of a Smell: An Extensive Comparison Between Textual and Structural Smells

  • IEEE Transactions on Software Engineering
  • IEEE Computer Society
Research footprint

At a glance

Citations
77
References
107
Comments
0
Paper overview

Abstract

Code smells are symptoms of poor design or implementation choices that have a negative effect on several aspects of software maintenance and evolution, such as program comprehension or change- and fault-proneness. This is why researchers have spent a lot of effort on devising methods that help developers to automatically detect them in source code. Almost all the techniques presented in literature are based on the analysis of structural properties extracted from source code, although alternative sources of information (e.g., textual analysis) for code smell detection have also been recently investigated. Nevertheless, some studies have indicated that code smells detected by existing tools based on the analysis of structural properties are generally ignored (and thus not refactored) by the developers. In this paper, we aim at understanding whether code smells detected using textual analysis are perceived and refactored by developers in the same or different way than code smells detected through structural analysis. To this aim, we set up two different experiments. We have first carried out a software repository mining study to analyze how developers act on textually or structurally detected code smells. Subsequently, we have conducted a user study with industrial developers and quality experts in order to qualitatively analyze how they perceive code smells identified using the two different sources of information. Results indicate that textually detected code smells are easier to identify and for this reason they are considered easier to refactor with respect to code smells detected using structural properties. On the other hand, the latter are often perceived as more severe, but more difficult to exactly identify and remove.

Record transparency

Publication details

DOI
10.1109/tse.2017.2752171
OpenAlex
W4253136463
Document type
article
Language
EN
Source
IEEE Transactions on Software Engineering
Last metadata update
Community

Comments

Log in to join the discussion.

  1. No comments yet. Start the discussion.