2020
DOI: 10.1145/3408302
|View full text |Cite
|
Sign up to set email alerts
|

Why Developers Refactor Source Code

Abstract: Refactoring aims at improving code non-functional attributes without modifying its external behavior. Previous studies investigated the motivations behind refactoring by surveying developers. With the aim of generalizing and complementing their findings, we present a large-scale study quantitatively and qualitatively investigating why developers perform refactoring in open source projects. First, we mine 287,813 refactoring operations performed in the history of 150 systems. Using this … Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

2
36
0

Year Published

2021
2021
2023
2023

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 47 publications
(38 citation statements)
references
References 73 publications
2
36
0
Order By: Relevance
“…For example, we reinforce findings from a recent study that point out a significant rate of multiple extractions to decompose methods in a single commit [49]. Also, we extend the viewpoint of the study that investigated the reasons behind refactoring tasks [30,34,35,41].…”
Section: Related Worksupporting
confidence: 84%
See 3 more Smart Citations
“…For example, we reinforce findings from a recent study that point out a significant rate of multiple extractions to decompose methods in a single commit [49]. Also, we extend the viewpoint of the study that investigated the reasons behind refactoring tasks [30,34,35,41].…”
Section: Related Worksupporting
confidence: 84%
“…To assess the motivations, we look for a sample from commits confirming the changes and also describing the central reasons. The rationale of this research question is to complement studies on refactoring motivations that consider different perspectives [15,30,34,35]. Moreover, we intend to improve future versions of the proposed catalog, for example, including real examples and discussions regard the applicability in practical scenarios.…”
Section: Inline Methodsmentioning
confidence: 99%
See 2 more Smart Citations
“…There are many studies [5], [6], [20], [30], [31] based on data mining and static analysis of the npm ecosystem. A study by Zimmermann et al [5], based on the analysis of the packages' dependencies in the npm registry, shows that the npm ecosystem faces single-point-of-failure risks, as problems in individual packages may impair large parts of the entire ecosystem.…”
Section: Related Workmentioning
confidence: 99%