Removing clones from the code
Richard Fanta, Václav Rajlich · Journal of Software Maintenance Research and Practice · 1999
This paper reports on a process for eliminating function clones and class clones from industrial object-oriented code. Clone removal can decrease system code size and facilitate maintenance. We eliminate clones by re-engineering scenarios that are based on using automated restructuring tools. The clone elimination process described includes function insertion, function expulsion, function encapsulation, function and variable renaming, and argument reordering. The paper presents examples of clones, re-engineering scenarios and restructuring tools. The usefulness of the approach is demonstrated by experience from a case study. Copyright © 1999 John Wiley & Sons, Ltd.