REVIEW 2 cited by
An Empirical Study of Refactoring Engine Bugs
Not yet reviewed by Pith; the record is open.
This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.
SPECIMEN: schema-true, not a live event
T0 review · schema-true
One-sentence machine reading of the paper's core claim.
pith:XXXXXXXX · record.json · timestamp
Signed reviews
read the original abstract
Refactoring is a critical process in software development, aiming at improving the internal structure of code while preserving its external behavior. Refactoring engines are integral components of modern Integrated Development Environments (IDEs) and can automate or semi-automate this process to enhance code readability, reduce complexity, and improve the maintainability of software products. Like traditional software systems, refactoring engines can generate incorrect refactored programs, resulting in unexpected behaviors or even crashes. In this paper, we present the first systematic study of refactoring engine bugs by analyzing bugs arising in three popular refactoring engines (i.e., Eclipse, IntelliJ IDEA, and Netbeans). We analyzed these bugs according to their refactoring types, symptoms, root causes, and triggering conditions. We obtained 12 findings and provided a series of valuable guidelines for future work on refactoring bug detection and debugging. Furthermore, our transferability study revealed 130 new bugs in the latest version of those refactoring engines. Among the 21 bugs we submitted, 10 bugs are confirmed by their developers, and seven of them have already been fixed.
Forward citations
Cited by 2 Pith papers
-
Detecting Behavioral Changes in Python Refactoring Implementations with Foundation Models
A diff-reading foundation-model oracle detects behavior-changing Python refactorings with 91% recall and surfaced 13 Rope bugs, 12 accepted by maintainers.
-
Testing Refactoring Engine via Historical Bug Report driven LLM
RETESTER generates refactoring-preserving Java variants from historical bug reports using an LLM and finds 18 new bugs in Eclipse and IntelliJ refactoring engines.
Discussion (0). Continue with ORCID to comment.