ActRef: Enhancing the Understanding of Python Code Refactoring with Action-Based Analysis
Siqi Wang, Xing Hu, Xin Xia, Xinyu Wang

TL;DR
ActRef is a novel framework that improves detection and understanding of Python code refactorings by analyzing code change actions, achieving high accuracy and covering multiple refactoring types and levels.
Contribution
This paper introduces ActRef, a new action-based analysis framework that enhances Python refactoring detection across various types and granularities, surpassing existing tools.
Findings
Achieves high precision (0.80) and recall (0.92) in refactoring detection.
Effectively identifies multiple refactoring types and levels.
Outperforms existing baselines like PyRef and ChatGPT-4 in detection accuracy.
Abstract
Refactoring, the process of improving the code structure of a software system without altering its behavior, is crucial for managing code evolution in software development. Identifying refactoring actions in source code is essential for understanding software evolution and guiding developers in maintaining and improving the code quality. This study presents an action-based Refactoring Analysis Framework named ActRef, a novel algorithm designed to advance the detection and understanding of Python refactorings through a unique code change action-based analysis of code changes. ActRef mining multiple refactoring types (e.g., move, rename, extract, and inline operations) based on diff actions, covering multiple granularity levels including variable, method, class, and module levels. By focusing on the code change actions, ActRef provides a Python-adaptive solution to detect intricate…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Scientific Computing and Data Management
