2018
DOI: 10.1109/tse.2017.2752171
|View full text |Cite
|
Sign up to set email alerts
|

The Scent of a Smell: An Extensive Comparison Between Textual and Structural Smells

Abstract: Abstract-Code smells are symptoms of poor design or implementation choices that have a negative effect on several aspects of software maintenance and evolution, such as program comprehension or change-and fault-proneness. This is why researchers have spent a lot of effort on devising methods that help developers to automatically detect them in source code. Almost all the techniques presented in literature are based on the analysis of structural properties extracted from source code, although alternative source… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

4
53
1

Year Published

2018
2018
2023
2023

Publication Types

Select...
4
3
2

Relationship

3
6

Authors

Journals

citations
Cited by 70 publications
(58 citation statements)
references
References 99 publications
(206 reference statements)
4
53
1
Order By: Relevance
“…Moreover, most of the times developers are aware of the presence of code smells, but they deliberately postpone their removal [60] to avoid APIs modifications [14] or simply because developers do not perceive them as actual problems [18], [21]. Finally, a recent study [61] found significant differences in the way code smells detected using different sources of information evolve over time: specifically, developers tend to maintain and refactor more code smells identified using textual information, while design problems affected by structural issues (e.g., too many dependencies between classes) are more difficult to understand and, therefore, more difficult to manage [61].…”
Section: Related Literature On Code Smellsmentioning
confidence: 99%
“…Moreover, most of the times developers are aware of the presence of code smells, but they deliberately postpone their removal [60] to avoid APIs modifications [14] or simply because developers do not perceive them as actual problems [18], [21]. Finally, a recent study [61] found significant differences in the way code smells detected using different sources of information evolve over time: specifically, developers tend to maintain and refactor more code smells identified using textual information, while design problems affected by structural issues (e.g., too many dependencies between classes) are more difficult to understand and, therefore, more difficult to manage [61].…”
Section: Related Literature On Code Smellsmentioning
confidence: 99%
“…Over the last decade the research community spent a considerable effort in studying (e.g., [1], [3], [32], [39], [51], [55], [59], [61], [66], [72], [78]- [80]) and detecting (e.g., [33], [36], [41], [43], [46], [49], [52], [54], [70]) design flaws occurring in production code, also known as code smells [23]. At the same time, problems concerning the design of test code have only been partially explored and our literature survey showed us that our empirical knowledge is still limited.…”
Section: Related Workmentioning
confidence: 99%
“…If a commit message matches an issue ID present in the issue tracker or it contains keywords such as 'bug', 'fix', or 'defect', we consider it as a bug fixing activity. This approach has been extensively used in the past to determine bug fixing changes [29], [34] and it has an accuracy close to 80% [22], [55], thus we deem it as being accurate enough for our study. Once we have detected all the bug fixing commits involving a test method, we employ SZZ to obtain the commits where the bug was introduced.…”
Section: B Data Extractionmentioning
confidence: 99%
“…Fowler defined "bad code smells" (shortly, "code smells" or simply "smells") as "symptoms of the presence of poor design or implementation choices applied during the development of a software system" [35]. Starting from there, several researchers heavily investigated (i) how code smells evolve over time [84,86,91,119,120,121], (ii) the way developers perceive them [79,111,126], and (iii) what is their impact on non-functional attributes of source code [1,36,50,52,77,83,104,125]. All these studies came up with a shared conclusion: code smells negatively impact program comprehension, maintainability of source code, and development costs.…”
Section: Code Smell Detection and Prioritizationmentioning
confidence: 99%