Search for contacts, projects,
courses and publications

PYREF
refactoring detection in Python projects

Additional information

Authors
Atwi H., Lin B., Tsantalis N., Kashiwa Y., Kamei Y., Ubayashi N., Bavota G., Lanza M.
Type
Article in conference proceedings
Year
2021
Language
English
Abstract
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.
Keywords
Refactoring detection, Python, Software maintenance
Conference proceedings
2021 IEEE 21st International Working Conference on Source Code Analysis and Manipulation (SCAM), Luxembourg, 2021
Pages (or article number)
136-141

Diffusion

License
License undefined
Visibility
Public
Status open access
Green