|Authors||A. Yamashita, M. Zanoni, F. Arcelli and B. Walter|
|Title||Exploratory Study on the Landscape of Inter-Smell Relations in Industrial and Open Source Systems|
|Project(s)||The Certus Centre (SFI)|
|Publication Type||Technical reports|
|Year of Publication||2014|
|Publisher||Simula Research Laboratory|
Code smells are indicators of issues with source code that can hinder software evolution. While a great number of studies have focused on the effects of individual code smells on maintainability, recent work has shown that code smells that appear together in the same file (i.e., collocated smells) can interact with each other, leading to various types of maintenance issues and/or to intensified negative effects. Moreover, it has been found that code smell interactions may occur across coupled files (i.e., coupled smells), with comparable negative effects as the interaction of same-file, collocated smells. Different inter- smell relations have been described in previous work, but few studies have validated them empirically. This study investigates further the phenomena of inter-smell relations (both collocated and coupled smell relations), by analyzing one industrial and two open-source systems. We substantiated the relevance of some inter-smells suggested previously in the literature and present a more comprehensive topography of emergent inter-smell relations. We found that tendencies on inter-smell relations become clearer when considering coupled smells in addition to collocated smells. A major finding is that contextual factors such as the domain and environment play a major role on the presence, co-presence, and coupling between smells, which suggests that such variables should be considered when conducting smell analysis.