Title :
Evaluating clone detection techniques from a refactoring perspective
Author :
Van Rysselberghe, Filip ; Demeyer, Serge
Author_Institution :
Lab On Re-Eng., Antwerp Univ., Antwerpen, Belgium
Abstract :
In the last decade, several researchers have investigated techniques to automatically detect duplicated code in programs exceeding hundreds of thousands lines of code. All of these techniques have known merits and deficiencies, but as of today, little is known on how these techniques fit into the refactoring process of object-oriented systems. This work compares three representative detection techniques (simple line matching, parameterized matching, and metric fingerprints) by means of five small to medium sized cases and analyses the differences between the reported matches. Based on this comparison, we conclude that (1) simple line matching is best suited for a partial, yet advanced restructuring with little effort; (2) metric fingerprints work best for refactoring a system with minimal effort; (3) parameterized matching demands more effort yet allows a more profound, less obvious restructuring of the code.
Keywords :
object-oriented programming; program diagnostics; software metrics; software performance evaluation; clone detection; code cloning; code restructuring; duplicated code detection; metric fingerprints; object-oriented systems; parameterized matching; refactoring process; simple line matching; Buildings; Classification tree analysis; Cloning; Fingerprint recognition; Java; Lab-on-a-chip; Pattern matching; Software engineering;
Conference_Titel :
Automated Software Engineering, 2004. Proceedings. 19th International Conference on
Print_ISBN :
0-7695-2131-2
DOI :
10.1109/ASE.2004.1342759