Search-Based Refactoring Detection from Source Code Revisions

Search-Based Refactoring Detection from Source Code Revisions
复制标题

DOI:
10.1587/transinf.e93.d.754
复制
发表时间:
2010-04
期刊:
IEICE Trans. Inf. Syst.
影响因子:
--
通讯作者:
Shinpei Hayashi;Yasuyuki Tsuda;M. Saeki
Shinpei Hayashi;Yasuyuki Tsuda;M. Saeki
中科院分区:
其他
文献类型:
--
作者:
Shinpei Hayashi;Yasuyuki Tsuda;M. Saeki

文献摘要

相似文献

本文提出了一种从源代码修订中检测重构发生的技术。在真实的软件开发过程中,重构操作有时可能与同一版本的其他修改一起执行。这意味着从存储在软件版本存档中的两个版本之间的差异中检测重构通常不是一个容易的过程。为了检测这些不纯的重构,我们在图搜索中对检测进行建模。我们的技术认为一个版本的程序作为一个国家和重构作为两个国家之间的过渡。然后,它搜索从初始状态到最终状态的路径。为了提高搜索的效率,我们使用当前和最终状态之间的源代码差异来选择下一步要应用的重构候选项,并估计到最终状态的启发式距离。通过案例研究,我们表明我们的方法对于检测重构组合是可行的。
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.