2014
DOI: 10.1145/2675067
|View full text |Cite
|
Sign up to set email alerts
|

Code-Smell Detection as a Bilevel Problem

Abstract: Code smells represent design situations that can affect the maintenance and evolution of software. They make the system difficult to evolve. Code smells are detected, in general, using quality metrics that represent some symptoms. However, the selection of suitable quality metrics is challenging due to the absence of consensus in identifying some code smells based on a set of symptoms and also the high calibration effort in determining manually the threshold value for each metric. In this article, we propose t… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
34
0
1

Year Published

2015
2015
2023
2023

Publication Types

Select...
9

Relationship

1
8

Authors

Journals

citations
Cited by 77 publications
(35 citation statements)
references
References 56 publications
0
34
0
1
Order By: Relevance
“…We chose not to use existing detection tools (Marinescu 2004;Khomh et al 2009b;Sahin et al 2014;Tsantalis and Chatzigeorgiou 2009;Moha et al 2010;Oliveto et al 2010;Palomba et al 2015a) because (i) none of them has ever been applied to detect all the studied code smells and (ii) their detection rules are generally more restrictive to ensure a good compromise between recall and precision and thus may miss some smell instances. To verify this claim, we evaluated the behavior of three existing tools, i.e., DECOR (Moha et al 2010), JDeodorant (Tsantalis and Chatzigeorgiou 2009), and HIST (Palomba et al 2015a) on one of the systems used in the empirical study, i.e., Apache Cassandra 1.1.…”
Section: Research Questions and Planningmentioning
confidence: 99%
See 1 more Smart Citation
“…We chose not to use existing detection tools (Marinescu 2004;Khomh et al 2009b;Sahin et al 2014;Tsantalis and Chatzigeorgiou 2009;Moha et al 2010;Oliveto et al 2010;Palomba et al 2015a) because (i) none of them has ever been applied to detect all the studied code smells and (ii) their detection rules are generally more restrictive to ensure a good compromise between recall and precision and thus may miss some smell instances. To verify this claim, we evaluated the behavior of three existing tools, i.e., DECOR (Moha et al 2010), JDeodorant (Tsantalis and Chatzigeorgiou 2009), and HIST (Palomba et al 2015a) on one of the systems used in the empirical study, i.e., Apache Cassandra 1.1.…”
Section: Research Questions and Planningmentioning
confidence: 99%
“…On the one side, researchers developed methods and tools to detect code smells. Such tools exploit different types of approaches, including metrics-based detection (Lanza and Marinescu 2010;Moha et al 2010;Marinescu 2004;Munro 2005), graph-based techniques (Tsantalis and Chatzigeorgiou 2009), mining of code changes (Palomba et al 2015a), textual analysis of source code (Palomba et al 2016b), or search-based optimization techniques (Kessentini et al 2010;Sahin et al 2014). On the other side, researchers investigated how relevant code smells are for developers (Yamashita and Moonen 2013;Palomba et al 2014), when and why they are introduced (Tufano et al 2015), how they evolve over time (Arcoverde et al 2011;Chatzigeorgiou and Manakos 2010;Lozano et al 2007;Ratiu et al 2004;Tufano et al 2017), and whether they impact on software quality properties, such as program comprehensibility (Abbes et al 2011), fault-and change-proneness (Khomh et al 2012;Khomh et al 2009a;D'Ambros et al 2010), and code maintainability Moonen 2012, 2013;Deligiannis et al 2004;Li and Shatnawi 2007;Sjoberg et al 2013).…”
Section: Introductionmentioning
confidence: 99%
“…Most of them are based on the analysis of the structural properties of source code (e.g., method calls) and on the combination of structural metrics [51], [56], [65], [67], [69], [72], [88], [95], [99], [103], while in recent years the use of alternative sources of information (i.e., historical and textual analysis) have been explored [74], [75], together with methodologies based on machine learning [3], [33] and search-based algorithms [17], [46], [47], [87].…”
Section: Textual and Structural Code Smell Detectionmentioning
confidence: 99%
“…Although Extract Method could be possible solution, however, if the problem of scattering persists, it can accumulate many design anomalies [27]. Alternatively, the code could be moved into an aspect to get rid of fragility as aspects are known to modularize code cutting across the whole software architecture [35,36]. Similarly, we present our motivating example of God Class in Listing 2, where aspect-oriented re-factoring (AOR) seems to be a better solution.…”
Section: Code Smells Detectionmentioning
confidence: 99%