Diagnosing Refactoring Dangers
Wouter Brinksma, William Wernsen, Evert Verduin, Herman Hilberink,, Patrick de Beer, Lex Bijlsma, Harrie Passier

TL;DR
This paper introduces ReFD, an Eclipse plugin that detects potential dangers in software refactoring by analyzing microsteps and risk factors, helping developers avoid behavior-preserving issues.
Contribution
We developed a conceptual model and a reusable set of detectors to identify refactoring dangers, validated through implementation for multiple refactorings.
Findings
ReFD effectively detects refactoring risks in real codebases.
The tool reduces false positives with a verdict mechanism.
Developers are guided to address potential refactoring issues.
Abstract
This report investigates the relationship between software refactoring and behavior preservation. Existing behavior preservation analyses often lack comprehensive insights into refactoring rejections and do not provide actionable solutions. To address these issues, we developed a conceptual model to detect refactoring dangers, and created an Eclipse plugin based upon this model, called ReFD. Every refactoring can be partitioned in microsteps, each of which carries potential risks. ReFD evaluates a given code context to identify if these potential risks are present, making them actual risks, and employs a verdict mechanism to reduce false positives. To facilitate the risk detection, several components called detectors and subdetectors are defined, which can be reused for multiple refactorings. The tool was validated by implementing the detection for multiple refactorings, which produce…
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
TopicsRisk and Safety Analysis · Software Engineering Research · Data Quality and Management
