arrow
Return

RefactoringMiner 2.0

delete2022-03-01
delete103
delete
OA
AI
N
Nikolaos Tsantalis *
A
Ameya Ketkar
D
Danny Dig
DOI:10.1109/TSE.2020.3007722delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
Refactoring detection is crucial for a variety of applications and tasks: (i) empirical studies about code evolution, (ii) tools for library API migration, (iii) code reviews and change comprehension. However, recent research has questioned the accuracy of the state-of-the-art refactoring mining tools, which poses threats to the reliability of the detected refactorings. Moreover, the majority of refactoring mining tools depend on code similarity thresholds. Finding universal threshold values that can work well for all projects, regardless of their architectural style, application domain, and development practices is extremely challenging. Therefore, in a previous work [N. Tsantalis, M. Mansouri, L. M. Eshkevari, D. Mazinanian, and D. Dig, Accurate and efficient refactoring detection in commit history, in 40th International Conference on Software Engineering, 2018, pp. 483-494], we introduced the first refactoring mining tool that does not require any code similarity thresholds to operate. In this work, we extend our tool to support low-level refactorings that take place within the body of methods. To evaluate our tool, we created one of the most accurate, complete, and representative refactoring oracles to date, including 7,226 true instances for 40 different refactoring types detected by one (minimum) up to six (maximum) different tools, and validated by one up to four refactoring experts. Our evaluation showed that our approach achieves the highest average precision (99.6 percent) and recall (94 percent) among all competitive tools, and on median is 2.6 times faster than the second faster competitive tool.
Keywords:
Tools
Open source software
Software systems
Task analysis
Libraries
Syntactics
Maintenance engineering
Refactoring mining
refactoring oracle
precision
recall
execution time
git
commit

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.9K
Citations:
1.1W

Organization

University of Colorado System cover
University of Colorado System
Scholars:
6.3W
Papers: 5.5W
Citations: 1.8K
C
concordia university - canada
Scholars:
8.0K
Papers: 8.9K
Citations: 4
O
Oregon State University
Scholars:
1.7W
Papers: 1.5W
Citations: 2.4W
researcher View more organizations
Cited Papers

Cited Papers

errShare
errSave
errShare
errSave
Comparing and experimenting machine learning techniques for code smell detection
err2015-06-06
err277
PREAI
errFontana, Francesca Arcelli; Mantyla, Mika V.; Zanoni, Marco; Marino, Alessandro
errShare
errSave
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bug-Introducing Changes
err2017-07-01
err139
PREAI
errda Costa, Daniel Alencar; McIntosh, Shane; Shang, Weiyi; Kulesza, Uira; Coelho, Roberta; Hassan, Ahmed E.
errShare
errSave
Why do we flush gas in gaseous detectors?
err2020-03-01
err0
errOAAI
errS. Procureur; D. Attié; S. Bouteille; D. Calvet; X. Coppolani; B. Gallois; H. Gomez; M. Kebbiri; E. Le Courric; P. Magnier; I. Mandjavidze; N. Sellami; R. Veenhof
errShare
errSave
errShare
errSave
Biomechanical Properties of 3D-Printed Cervical Interbody Fusion Cage With Novel SF/nHAp Composites
err2021-08-12
err0
errOAAI
errShuang Chen; Yi Meng; Guozhi Wu; Zhize Liu; Xiaodong Lian; Jianyu Hu; Dongfang Yang; Guiqi Zhang; Kun Li; Hao Zhang
errShare
errSave
researcher View more