PYREF: Refactoring Detection in Python Projects

Hassan Atwi, Bin Lin, Nikolaos Tsantalis, Yutaro Kashiwa, Yasutaka Kamei, Naoyasu Ubayashi, Gabriele Bavota, Michele Lanza

Research output: Chapter in Book/Report/Conference proceedingConference contribution

7 Citations (Scopus)

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.

Original languageEnglish
Title of host publicationProceedings - IEEE 21st International Working Conference on Source Code Analysis and Manipulation, SCAM 2021
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages136-141
Number of pages6
ISBN (Electronic)9781665448970
DOIs
Publication statusPublished - 2021
Event21st IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2021 - Virtual, Luxembourg City, Luxembourg
Duration: Sept 27 2021Oct 1 2021

Publication series

NameProceedings - IEEE 21st International Working Conference on Source Code Analysis and Manipulation, SCAM 2021

Conference

Conference21st IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2021
Country/TerritoryLuxembourg
CityVirtual, Luxembourg City
Period9/27/2110/1/21

All Science Journal Classification (ASJC) codes

  • Computer Science Applications
  • Hardware and Architecture
  • Software
  • Safety, Risk, Reliability and Quality
  • Control and Optimization

Fingerprint

Dive into the research topics of 'PYREF: Refactoring Detection in Python Projects'. Together they form a unique fingerprint.

Cite this