2020
DOI: 10.1002/smr.2320
|View full text |Cite
|
Sign up to set email alerts
|

Software smell detection techniques: A systematic literature review

Abstract: Software smells indicate design or code issues that might degrade the evolution and maintenance of software systems. Detecting and identifying these issues are challenging tasks. This paper explores, identifies, and analyzes the existing software smell detection techniques at design and code levels. We carried out a systematic literature review (SLR) to identify and collect 145 primary studies related to smell detection in software design and code. Based on these studies, we address several questions related t… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
10
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
3
3
2

Relationship

1
7

Authors

Journals

citations
Cited by 29 publications
(13 citation statements)
references
References 170 publications
(327 reference statements)
0
10
0
Order By: Relevance
“…We recently developed a systematic procedure for manual code smell annotation to alleviate this issue and used it to label a moderate-sized code smell dataset for the C# language [13] for two code smells: Large Class and Long Method. We chose the C# language, as it dominates the developers' discussions on code smells [14] but is neglected in terms of available code analysis tools [14], [8], [9]. In this paper, we use our C# dataset to train and evaluate an ML-based code smell detector.…”
Section: Introductionmentioning
confidence: 99%
“…We recently developed a systematic procedure for manual code smell annotation to alleviate this issue and used it to label a moderate-sized code smell dataset for the C# language [13] for two code smells: Large Class and Long Method. We chose the C# language, as it dominates the developers' discussions on code smells [14] but is neglected in terms of available code analysis tools [14], [8], [9]. In this paper, we use our C# dataset to train and evaluate an ML-based code smell detector.…”
Section: Introductionmentioning
confidence: 99%
“…Software refactoring, deemed as a viable process to enhance software quality, can be applied at the code and design levels. 15 However, this process is not foolproof as applying all refactoring opportunities does not necessarily lead to optimal software quality. 16 Moreover, applying refactoring in different order produces different software quality.…”
Section: Related Workmentioning
confidence: 99%
“…Notably, our dataset includes open-source projects written in the C# programming language, while almost all manually annotated datasets contain projects written in Java. C# language dominates the developers' discussions on code smells' (Tahir et al, 2020) but is poorly supported in code analysis tools (Tahir et al, 2020;AbuHassan et al, 2021). Finally, C# is similar to the Java programming language, making our contributions relevant to the large research community.…”
Section: Introductionmentioning
confidence: 99%