Author :
Duala-Ekoko, Ekwa ; Robillard, Martin P.
Author_Institution :
Sch. of Comput. Sci., McGill Univ., Montreal, QC
Abstract :
Code clones are generally considered to be an obstacle to software maintenance. Research has provided evidence that it may not always be practical, feasible, or cost-effective to eliminate certain clone groups through refactoring. This paper describes CloneTracker, an Eclipse plug-in that provides support for tracking code clones in evolving software. With CloneTracker, developers can specify clone groups they wish to track, and the tool will automatically generate a clone model that is robust to changes to the source code, and can be shared with other collaborators of the project. When future modifications intersect with tracked clones, CloneTracker will notify the developer, provide support to consistently apply changes to a corresponding clone region, and provide support for updating the clone model. CloneTracker complements existing techniques by providing support for reusing knowledge about the location of clones in source code, and support for keeping track of clones when refactoring is not desirable.
Keywords :
program diagnostics; software maintenance; software reusability; software tools; CloneTracker; code clone management; software evolution; software maintenance; software refactoring; software reuse; tool support; Cloning; Collaborative tools; Computer languages; Computer science; History; Logic programming; Robustness; Software maintenance; Software systems; Writing; code clone; refactoring; simultaneous editing; software maintenance; source code analysis;
Conference_Titel :
Software Engineering, 2008. ICSE '08. ACM/IEEE 30th International Conference on
Conference_Location :
Leipzig
Print_ISBN :
978-1-4244-4486-1
Electronic_ISBN :
0270-5257
DOI :
10.1145/1368088.1368218