Bugs in the Shadows: Static Detection of Faulty Python Refactorings
Bugs in the Shadows: Static Detection of Faulty Python Refactorings
Python is a widely adopted programming language, valued for its simplicity and flexibility. However, its dynamic type system poses significant challenges for automated refactoring - an essential practice in software evolution aimed at improving internal code structure without changing external behavior. Understanding how type errors are introduced during refactoring is crucial, as such errors can compromise software reliability and reduce developer productivity. In this work, we propose a static analysis technique to detect type errors introduced by refactoring implementations for Python. We evaluated our technique on Rope refactoring implementations, applying them to open-source Python projects. Our analysis uncovered 29 bugs across four refactoring types from a total of 1,152 refactoring attempts. Several of these issues were also found in widely used IDEs such as PyCharm and PyDev. All reported bugs were submitted to the respective developers, and some of them were acknowledged and accepted. 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.
Jonhnanthan Oliveira、Rohit Gheyi、Márcio Ribeiro、Alessandro Garcia
计算技术、计算机技术
Jonhnanthan Oliveira,Rohit Gheyi,Márcio Ribeiro,Alessandro Garcia.Bugs in the Shadows: Static Detection of Faulty Python Refactorings[EB/OL].(2025-07-01)[2025-07-25].https://arxiv.org/abs/2507.01103.点此复制
评论