Skip to content
Preprint

Detecting Behavioral Changes in Python Refactoring Implementations with Foundation Models

Aug 2026 · 0 citations · 67 references
Computer Science

TL;DR

This work proposes an approach based on a foundation model oracle that analyzes git-style diffs to identify behavioral changes introduced by Python refactorings and uncovered 13 distinct bugs among the seven refactoring types studied.

Abstract

Python is a widely adopted programming language, valued for its simplicity and flexibility. However, automated refactoring for Python remains challenging, even though refactoring is an essential practice in software evolution aimed at improving internal code structure without changing external behavior. Understanding how behavioral changes are introduced during refactoring is crucial, as such issues can compromise software reliability and reduce developer productivity. We propose an approach based on a foundation model oracle that analyzes git-style diffs to identify behavioral changes introduced by Python refactorings. We evaluated our technique on Rope refactoring implementations, reusing 1,152 refactoring attempts from a prior study and analyzing 217 resulting transformation pairs with the oracle. Our model-based analysis uncovered 13 distinct bugs among the seven refactoring types studied. All reported bugs were submitted to the respective developers, and 12 of the 13 resulting issue reports were accepted according to issue-tracker evidence. These results highlight the need to improve the robustness of current Python refactoring tools to ensure the correctness of automated code transformations and support reliable software maintenance.

View source

Similar papers

Investigating the Refactoring Capabilities of Small Open-Weight Language Models

This paper performs a broad analysis on the refactoring capabilities of small open-weight language models (SLMs) by evaluating 12 models on 3453 Python programs and indicates that current open SLMs can support refactoring tasks, especially larger ones with reasoning capabilities, but they are best used with human overs...

Tamás Márton, Balázs Szalontai, Bal'azs Pint'er et al. · 0 citations
Review Open access 2019

ML-Enhanced Code Refactoring Recommendations for Improving Software Maintainability

Results show that ML-enhanced recommendations outperform traditional methods in accuracy, relevance, and impact on maintainability metrics, and highlight the potential of integrating ML into modern development practices to support developers in producing cleaner, more maintainable software systems.

Rohit Malhotra · 0 citations
Book Open access Jul 2026

When Testing Meets Refactoring: Catalogue, Detection, and Recommendation

This paper presents a unified catalogue of test refactoring patterns derived from a mixed-method approach involving repository mining, developer surveys, and analysis of StackOverflow discussions, to establish a rigorous benchmark for evaluating future automated recommendation systems, including those driven by Large L...

Victor Guerra Veloso · 0 citations
Preprint Aug 2026

RefactorAssist: Agentic Refinement for Reliable Code Refactoring

Results indicate that static checks and test-guided, context-aware agentic repair can increase the reliability of LLM-generated refactorings, bringing them closer to practical integration within developer workflows.

Jonathan Cordeiro, Shayan Noei, Ying Zou · 1 citation
Preprint Aug 2026

RepoProbe: Benchmarking Architecture-Aware Repository Comprehension with Checklists

This work introduces RepoProbe, a novel benchmark for evaluating repository-level code understanding through open-ended Q&A using GitHub Discussions, which focuses on open-ended architectural inquiries rather than defect reporting and proposes a Checklist-Based Verification Protocol that decomposes answers into atomic,...

Yue Yang, Alyssa Wu, Ji Luo et al. · 1 citation
Book Open access Jul 2026

PyMOP: A Runtime Verification Tool for Python

PyMOP is presented, a generic, extensible, and more efficient Python RV tool that supports five logics, implements five monitoring algorithms, ships with 81 specs, and supports three instrumentation strategies that help find hundreds of bugs by monitoring test executions against formal specifications.

Zhuohan Shen, Mohammed Yaseen, Kevin Guan et al. · 2 citations

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.