International Conference

Detecting Occurrences of Refactoring with Heuristic Search

Shinpei Hayashi, Yasuyuki Tsuda, Motoshi Saeki

In Proceedings of the 15th Asia-Pacific Software Engineering Conference (APSEC 2008), pp. 453–460, Beijing, China, December 2008.

Abstract

This paper proposes a novel technique to detect the occurrences of refactoring from a version archive, in order to reduce the effort spent in understanding what modifications have been applied. In a real software development process, a refactoring operation may sometimes be performed together with other modifications at the same revision. This means that understanding the differences between two versions stored in the archive is not usually an easily 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. 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. We have clearly demonstrated the feasibility of our approach through a case study.

BibTeX

@inproceedings{hayashi-apsec2008,
    author = {Shinpei Hayashi and Yasuyuki Tsuda and Motoshi Saeki},
    title = {Detecting Occurrences of Refactoring with Heuristic Search},
    booktitle = {Proceedings of the 15th Asia-Pacific Software Engineering Conference},
    pages = {453--460},
    doi = {10.1109/APSEC.2008.9},
    year = 2008,
}
Type
International Conference
Conference
APSEC 2008
Location
Beijing, China
Published
December 2008
Volume / Pages
pp. 453–460
Acceptance rate
65/221 (29%)
DOI
10.1109/APSEC.2008.9