SEJul 20, 2021

On the Interplay of Smells Large Class, Complex Class and Duplicate Code

arXiv:2107.09512v14 citationsHas Code
Originality Synthesis-oriented
AI Analysis

This work addresses the lack of quantified understanding of smell inter-relationships for software maintainability, but it is incremental as it builds on existing detection approaches.

The study investigated the inter-relationships among three code smells—Large Class, Complex Class, and Duplicate Code—in five open-source projects, finding patterns such as clones being more prevalent in highly complex classes.

Bad smells have been defined to describe potential problems in code, possibly pointing out refactoring opportunities. Several empirical studies have highlighted that smells have a negative impact on comprehension and maintainability. Consequently, several approaches have been proposed to detect and restructure them. However, studies on the inter-relationship of occurrence of different types of smells in source code are still lacking, especially those focused on the quantification of this inter-relationship. In this work, we aim at understand and quantify the possible the inter-relation of smells Large Class - LC, Complex Class - CC and Duplicate Code - DC. In particular, we investigate patterns of LC and CC regarding the presence or absence of duplicate code. We conduct a quantitative study on five open source projects, and also a qualitative analysis to measure and understand the association of specific smells. As one of the main results, we highlight that there are "occurrence patterns" among these smells, for example: either in Complex Class or in the co-occurrence of Large Class and Complex Class, clones tend to be more prevalent in highly complex classes than less complex classes. The found patterns could be used to improve the performance of detection tools or even help in refactoring tasks.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes