arXiv · 2411.08648
Diagnosing Refactoring Dangers
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 the expected information about the risks detected. This information leads a developer to actively think about solutions to the problems a refactoring might cause within an actual codebase.
Explore related subjects
Keep this discovery
Wouter Brinksma, William Wernsen, Evert Verduin, Herman Hilberink, Patrick de Beer, Lex Bijlsma, Harrie Passier. 2024-11-13. Diagnosing Refactoring Dangers. https://arxiv.org/abs/2411.08648
Cite the original work for its findings. Save a collection to share your selection of sources.