Are Code Smell Co-occurrences Harmful to Internal Quality Attributes? A Mixed-Method Study. Martins, J., Uchôa, A., Bezerra, C., & Garcia, A. In Proceedings of the 34th Brazilian Symposium on Software Engineering (SBES), 2020, Natal, Brazil, Oct 19-23, pages 52–61, 2020. ACM Press.
Are Code Smell Co-occurrences Harmful to Internal Quality Attributes? A Mixed-Method Study [pdf]Paper  doi  abstract   bibtex   
Previous studies demonstrated how code smells (i.e., symptoms of the presence of system degradation) impact the software maintainability. However, few studies have investigated which code smell types tend to co-occur in the source code. Moreover, it is not clear to what extent the removal of code smell co-occurrences – through refactoring operations – has a positive impact on quality attributes such as cohesion, coupling, inheritance, complexity, and size. We aim at addressing these gaps through an empirical study. By investigating the impact of the smells co-occurrences in 11 releases of 3 closed-source systems, we observe (i) which code smells tend to co-occur together, (ii) the impact of the removal of code smell co-occurrences on quality internal attributes before and after refactoring, and (iii) which are the most difficult co-occurrences to refactoring from the developers perspective. Our results show that 5 types of code smell generally tend to co-occur (e.g, Feature Envy, and Long Method). Moreover, we observed that the removal of code smells co-occurrences lead to a significant reduction in the complexity of the systems studied was obtained. Conversely, cohesion, coupling, and inheritance tend to increase. Based on our findings, we argue that further research is needed on the impact of co-occurrences of code smells on internal quality attributes.

Downloads: 0