Towards a better understanding of the mechanics of refactoring detection tools

被引:0
作者
Oliveira, Jonhnanthan [1 ]
Gheyi, Rohit [1 ]
Teixeira, Leopoldo [2 ]
Ribeiro, Marcio [3 ]
Leandro, Osmar [1 ]
Fonseca, Baldoino [3 ]
机构
[1] Univ Fed Campina Grande, Campina Grande, Brazil
[2] Univ Fed Pernambuco, Pernambuco, Brazil
[3] Univ Fed Alagoas, Alagoas, Brazil
关键词
Refactoring; Mechanics; Program comprehension;
D O I
10.1016/j.infsof.2023.107273
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Context: Refactoring is a crucial practice used by many developers, available in popular IDEs, like Eclipse. Moreover, refactoring detection tools, such as RefDiff and RefactoringMiner, help improve the comprehension of refactoring application changes.Objective: In this article, we better understand to what extent refactoring detection tools (RefDiff and RefactoringMiner) identify refactoring operations that developers apply in practice.Methods: We survey with 53 developers of popular Java projects on GitHub. We asked them to identify six refactoring transformations applied to small programs.Results: There is no unanimity in all questions of our survey. Refactoring detection tools do not detect many refactoring operations expected by developers. In 4 out of 6 questions, most developers prefer the Eclipse refactoring mechanics.Conclusion: The results highlight the importance of diving deep into the refactoring mechanics and defining a baseline. Empirical studies focused on mining refactoring operations may be limited by an incomplete or unrepresentative sample of such operations, thus posing a challenge for researchers in this field.
引用
收藏
页数:4
相关论文
共 10 条
[1]  
Fowler M., 1999, Refactoring: Improving the Design of Existing Code
[2]  
Kim M., 2012, 20 FSE
[3]   An Empirical Study of RefactoringChallenges and Benefits at Microsoft [J].
Kim, Miryung ;
Zimmermann, Thomas ;
Nagappan, Nachiappan .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2014, 40 (07) :633-649
[4]   How We Refactor, and How We Know It [J].
Murphy-Hill, Emerson ;
Parnin, Chris ;
Black, Andrew P. .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2012, 38 (01) :5-18
[5]  
Murphy-Hill E, 2011, S VIS LANG HUM CEN C, P165, DOI 10.1109/VLHCC.2011.6070394
[6]   Revisiting the refactoring mechanics [J].
Oliveira, Jonhnanthan ;
Gheyi, Rohit ;
Mongiovi, Melina ;
Soares, Gustavo ;
Ribeiro, Marcio ;
Garcia, Alessandro .
INFORMATION AND SOFTWARE TECHNOLOGY, 2019, 110 :136-138
[7]  
Silva DS, 2020, INT J ENTREP BEHAV R, V26, P595, DOI [10.1108/IJEBR-07-2019-0425, 10.1109/TSE.2020.2968072]
[8]   Barriers to Refactoring [J].
Tempero, Ewan ;
Gorschek, Tony ;
Angelis, Lefteris .
COMMUNICATIONS OF THE ACM, 2017, 60 (10) :54-61
[9]   RefactoringMiner 2.0 [J].
Tsantalis, Nikolaos ;
Ketkar, Ameya ;
Dig, Danny .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2022, 48 (03) :930-950
[10]  
Vakilian M, 2012, PROC INT CONF SOFTW, P233, DOI 10.1109/ICSE.2012.6227190