2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR) 2017
DOI: 10.1109/msr.2017.14
|View full text |Cite
|
Sign up to set email alerts
|

RefDiff: Detecting Refactorings in Version Histories

Abstract: Refactoring is a well-known technique that is widely adopted by software engineers to improve the design and enable the evolution of a system. Knowing which refactoring operations were applied in a code change is a valuable information to understand software evolution, adapt software components, merge code changes, and other applications. In this paper, we present RefDiff, an automated approach that identifies refactorings performed between two code revisions in a git repository. RefDiff employs a combination … Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
80
0

Year Published

2019
2019
2023
2023

Publication Types

Select...
4
3
2

Relationship

1
8

Authors

Journals

citations
Cited by 116 publications
(81 citation statements)
references
References 25 publications
1
80
0
Order By: Relevance
“…Given the amount of commits analyzed in this study, a manual detection of refactoring operations performed by developers would have been too expensive. In literature, two main approaches to automatically identify refactoring operations at commit level have been defined, i.e., Refac-toringMiner [61] and RefDiff [51]. In this study, we opt for the former because its accuracy has been shown to be higher than RefDiff [61].…”
Section: Extraction Of Refactoring Operationsmentioning
confidence: 99%
“…Given the amount of commits analyzed in this study, a manual detection of refactoring operations performed by developers would have been too expensive. In literature, two main approaches to automatically identify refactoring operations at commit level have been defined, i.e., Refac-toringMiner [61] and RefDiff [51]. In this study, we opt for the former because its accuracy has been shown to be higher than RefDiff [61].…”
Section: Extraction Of Refactoring Operationsmentioning
confidence: 99%
“…Several tools and techniques are proposed in the literature to detect refactoring operations, for instance, Refactoring Crawler [14], RefFinder [15], Refactoring Miner [3], [5], and, more recently, RefDiff [13] and RMiner [16]. In common, those approaches only detect atomic refactoring, i.e., operations that happen in a single commit and performed by a single developer.…”
Section: A Detecting Refactoring Over Timementioning
confidence: 99%
“…In addition to be multi language, REFDIFF accuracy is quite high. REFDIFF's authors provide two evaluations of their tool [13]. In the first evaluation, it achieved an overall F-measure of 96.8% (precision: 100%; recall: 93.9%).…”
Section: Threats To Validitymentioning
confidence: 99%
“…In particular, previous studies on refactoring use source code changes history to detect and study refactoring changes. The approach by Silva et al [15] consists in 2 phases: (i) parse and analyze the history of source code changes to obtain a high level abstraction (i.e., a multiset of tokens); (ii) perform a relationship analysis, i.e., the procedure to find similarities between source code abstractions before and after the changes.…”
Section: Related Workmentioning
confidence: 99%