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 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.
The copyright of the original papers published on this site belongs to IEICE. Unauthorized use of the original or translated papers is prohibited. See IEICE Provisions on Copyright for details.
Copy
Shinpei HAYASHI, Yasuyuki TSUDA, Motoshi SAEKI, "Search-Based Refactoring Detection from Source Code Revisions" in IEICE TRANSACTIONS on Information,
vol. E93-D, no. 4, pp. 754-762, April 2010, doi: 10.1587/transinf.E93.D.754.
Abstract: 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 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.
URL: https://global.ieice.org/en_transactions/information/10.1587/transinf.E93.D.754/_p
Copy
@ARTICLE{e93-d_4_754,
author={Shinpei HAYASHI, Yasuyuki TSUDA, Motoshi SAEKI, },
journal={IEICE TRANSACTIONS on Information},
title={Search-Based Refactoring Detection from Source Code Revisions},
year={2010},
volume={E93-D},
number={4},
pages={754-762},
abstract={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 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.},
keywords={},
doi={10.1587/transinf.E93.D.754},
ISSN={1745-1361},
month={April},}
Copy
TY - JOUR
TI - Search-Based Refactoring Detection from Source Code Revisions
T2 - IEICE TRANSACTIONS on Information
SP - 754
EP - 762
AU - Shinpei HAYASHI
AU - Yasuyuki TSUDA
AU - Motoshi SAEKI
PY - 2010
DO - 10.1587/transinf.E93.D.754
JO - IEICE TRANSACTIONS on Information
SN - 1745-1361
VL - E93-D
IS - 4
JA - IEICE TRANSACTIONS on Information
Y1 - April 2010
AB - 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 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.
ER -