TY - GEN
T1 - PYREF
T2 - 21st IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2021
AU - Atwi, Hassan
AU - Lin, Bin
AU - Tsantalis, Nikolaos
AU - Kashiwa, Yutaro
AU - Kamei, Yasutaka
AU - Ubayashi, Naoyasu
AU - Bavota, Gabriele
AU - Lanza, Michele
N1 - Funding Information:
ACKNOWLEDGMENTS We thank Malinda Dilhara and Danny Dig for providing information and refactoring detection results of the early version of PYTHON-ADAPTED REFACTORINGMINER. We also gratefully acknowledgethe financial support of JSPS and SNSF for the project “SENSOR” (No. 183587, JPJSJRP20191502).
Publisher Copyright:
© 2021 IEEE.
PY - 2021
Y1 - 2021
N2 - Refactoring, the process of improving the internal code structure of a software system without altering its external behavior, is widely applied during software development. Understanding how developers refactor source code can help gain better understanding of the software development process and the relationship between various versions of a system. Refactoring detection tools have been developed for many popular programming languages, such as Java (e.g., REFACTORINGMINER and REF-FINDER) but, quite surprisingly, this is not the case for Python, a widely used programming language.Inspired by REFACTORING MINER, we present PYREF, a tool that automatically detects method-level refactoring operations in Python projects. We evaluated PYREF against a manually built oracle and compared it with a PYTHON-ADAPTED REFACTOR-INGMINER, which converts Python program to Java and detects refactoring operations with REFACTORING MINER. Our results indicate that PYREF can achieve satisfactory precision and detect more refactorings than the current state-of-The-Art.
AB - Refactoring, the process of improving the internal code structure of a software system without altering its external behavior, is widely applied during software development. Understanding how developers refactor source code can help gain better understanding of the software development process and the relationship between various versions of a system. Refactoring detection tools have been developed for many popular programming languages, such as Java (e.g., REFACTORINGMINER and REF-FINDER) but, quite surprisingly, this is not the case for Python, a widely used programming language.Inspired by REFACTORING MINER, we present PYREF, a tool that automatically detects method-level refactoring operations in Python projects. We evaluated PYREF against a manually built oracle and compared it with a PYTHON-ADAPTED REFACTOR-INGMINER, which converts Python program to Java and detects refactoring operations with REFACTORING MINER. Our results indicate that PYREF can achieve satisfactory precision and detect more refactorings than the current state-of-The-Art.
UR - http://www.scopus.com/inward/record.url?scp=85123293057&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85123293057&partnerID=8YFLogxK
U2 - 10.1109/SCAM52516.2021.00025
DO - 10.1109/SCAM52516.2021.00025
M3 - Conference contribution
AN - SCOPUS:85123293057
T3 - Proceedings - IEEE 21st International Working Conference on Source Code Analysis and Manipulation, SCAM 2021
SP - 136
EP - 141
BT - Proceedings - IEEE 21st International Working Conference on Source Code Analysis and Manipulation, SCAM 2021
PB - Institute of Electrical and Electronics Engineers Inc.
Y2 - 27 September 2021 through 1 October 2021
ER -