• Home
  • Search
  • PYREF: Refactoring Detection in Python Projects
  • Cite Icon23
  • https://doi.org/10.1109/scam52516.2021.00025Copy DOI Icon

PYREF: Refactoring Detection in Python Projects

  • Sep 1, 2021
  • Hassan Atwi +7 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
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.

Similar Papers
  • PDF
  • Research Article
  • Citations8

DyPyBench: A Benchmark of Executable Python Software

  • Jul 12, 2024
  • Proceedings of the ACM on Software Engineering
  • Islem Bouzenia +2
  • Research Article
  • Citations3

An Empirical Study on the Impact of Python Dynamic Typing on the Project Maintenance

  • May 01, 2022
  • International Journal of Software Engineering and Knowledge Engineering
  • Xinmeng Xia +5
  • Conference Article
  • Citations8

Does Refactoring Break Tests and to What Extent?

  • Sep 01, 2021
  • Yutaro Kashiwa +6
  • Book Chapter
  • Citations9

Software Cost Estimation for Python Projects Using Genetic Algorithm

  • Jan 01, 2020
  • Amrita Sharma +1
  • Conference Article
  • Citations1

I see we still like C

  • Feb 18, 2013
  • Ronnie L Killough
  • Research Article
  • Citations8

Restructuring of Object-Oriented Software Through Cohesion Improvement Using Frequent Usage Patterns

  • Sep 05, 2017
  • ACM SIGSOFT Software Engineering Notes
  • Amit Rathee +1
  • Book Chapter
  • Citations1

Java B eans and Software Architecture

  • Jan 03, 2004
  • The Internet Encyclopedia
  • Nenad Medvidovic +1
  • Conference Article
  • Citations18

S-ADA: Software as an Autonomous, Dependable and Affordable System

  • Jun 01, 2021
  • Kai-Yuan Cai +2
  • Research Article
  • Citations22

An empirical study on the impact of AspectJ on software evolvability

  • Dec 06, 2017
  • Empirical Software Engineering
  • Adam Przybyłek
  • Book Chapter

Datalog Development Tools

  • Jan 01, 2012
  • Onofrio Febbraro +4
  • Conference Article
  • Citations2

A Novel ACM/ICPC-Based C++ Paperless Examination System

  • Jun 25, 2022
  • Yunping Zheng +1
  • Conference Article
  • Citations101

The impact of regular expression denial of service (ReDoS) in practice: an empirical study at the ecosystem scale

  • Oct 26, 2018
  • James C Davis +3
  • Single Book

PYTHON POWERED INTELLIGENCE AND ML

  • Oct 22, 2023
  • Dr Gagandeep Kaur +4
  • Research Article
  • Citations2

Water-Drive Gas Reservoirs: Influence of Pulse-Testing on the Indetermination Range of Reserve Estimates

  • Dec 01, 1969
  • Journal of Petroleum Technology
  • G.L Chierici +1
  • Book Chapter
  • Citations2

Improving Java Learning Outcome with Interactive Visual Tools in Higher Education

  • Jan 01, 2022
  • Yongbin Zhang +3
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.