Search-Based Refactoring Detection from Source Code Revisions
This paper proposes a technique for detecting the occurrences of refactoring from source code revisions In a real software development process, a refactoring operation may sometimes be performed together with other modifications at the same revision. This is means that detecting refactorings from the differences between two versions stored in a software version archive is not usually an easy process In order to detect these impure refactorings. we model the detection within a graph search Our technique considers a version of a program as a state and a refactoring as a transition between two states It then searches for the path that approaches from the initial to the final state To improve the efficiency of the search, we use the source code differences between the current and the final state for choosing the candidates of refactoring to be applied next and estimating the heuristic distance to the final state Through case studies we show that our approach is feasible to detect combinations of refactorings.
refactoring version archives source code differences heuristics informed search