Cloned code is one of the most important obstacles against consistent software maintenance and evolution. Although today's clone detection tools find a variety of clones, they do not offer any advice how to remove such clones. We explain the problems involved in finding a sequence of changes for clone removal and suggest to view this problem as a process of stepwise unification of the clone instances. Consequently the problem can be solved by backtracking over the possible unification steps.
Cite
@article{arxiv.1301.2447,
title = {Clone Removal in Java Programs as a Process of Stepwise Unification},
author = {Daniel Speicher and Andri Bremm},
journal= {arXiv preprint arXiv:1301.2447},
year = {2013}
}