Code smells incidence: Does it depend on the application domain? - Reis, J. P. dos; Abreu, F. B. e; Carneiro, G. de F. (2016 10th International Conference on the Quality of Information and Communications Technology (QUATIC), 2016)
Background: Code smells are considered detrimental to maintainability. To plan QA preventive initiatives (e.g. refactoring actions) it is important to know if the application domain is likely to affect the incidence of those problems. Objective: The main goal of this paper is to check if the application domain has a statistically significant impact on the incidence of code smells. Methods: We conducted a quasi-experiment using 118 Java applications, classified into 6 application domains, and including 7 types of code smells. To test the formulated hypotheses, we used the Kruskal-Wallis and ANOVA tests. Results: Our results show that the incidence of most code smells does not depend on the application domain, with the exception of Duplicated Code smell, where it was found that its incidence in the domain Home & Education is superior to the others. Limitations: This study was based on medium sized open source applications written in Java. Therefore, its external validity will be questionable outside this scope. Conclusions: For 6 out of 7 code smell types, our results corroborate previous studies where no difference could be found on code smells incidence across applications. However, statistically significant differences were found for the Duplicated Code (aka Clone) smell. This result confirmed the claim produced by Martin Fowler almost 20 years ago that software clones may be induced by the application domain.