On Preserving the Behavior in Software Refactoring: A Systematic Mapping Study
Eman Abdullah AlOmar, Mohamed Wiem Mkaouer, Christian Newman and, Ali Ouni

TL;DR
This systematic mapping study reviews existing strategies for preserving software behavior during refactoring, highlighting the diversity of approaches and identifying under-researched areas and potential for combined strategies.
Contribution
It provides a comprehensive classification of behavior preservation methods in refactoring research, revealing gaps and opportunities for improved strategies.
Findings
Multiple behavior preservation approaches exist, using formal methods, tools, or manual analysis.
Significant refactoring operations lack sufficient behavior preservation research.
Combining different strategies could enhance detection of semantic violations.
Abstract
Context: Refactoring is the art of modifying the design of a system without altering its behavior. The idea is to reorganize variables, classes and methods to facilitate their future adaptations and comprehension. As the concept of behavior preservation is fundamental for refactoring, several studies, using formal verification, language transformation and dynamic analysis, have been proposed to monitor the execution of refactoring operations and their impact on the program semantics. However, there is no existing study that examines the available behavior preservation strategies for each refactoring operation. Objective: This paper identifies behavior preservation approaches in the research literature. Method: We conduct, in this paper, a systematic mapping study, to capture all existing behavior preservation approaches that we classify based on several criteria including their…
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.
