CCFinder: a multilinguistic token-based code clone detection system for large scale source code
IEEE Transactions on Software Engineering
Identification of High-Level Concept Clones in Source Code
Proceedings of the 16th IEEE international conference on Automated software engineering
Beyond templates: a study of clones in the STL and some general implications
Proceedings of the 27th international conference on Software engineering
An empirical study of code clone genealogies
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Generic programming in Fortran
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Tracking Code Clones in Evolving Software
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Parametric fortran: program generation in scientific computing
Journal of Software Maintenance and Evolution: Research and Practice
"Cloning considered harmful" considered harmful: patterns of cloning in software
Empirical Software Engineering
Clone detection and removal for Erlang/OTP within a refactoring environment
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
An evaluation of code similarity identification for the grow-and-prune model
Journal of Software Maintenance and Evolution: Research and Practice - Special Issue on the 12th Conference on Software Maintenance and Reengineering (CSMR 2008)
Cleman: Comprehensive Clone Group Evolution Management
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Clone removal: fact or fiction?
Proceedings of the 4th International Workshop on Software Clones
Function clone detection in web applications: a semiautomated approach
Journal of Web Engineering
Similar code detection and elimination for erlang programs
PADL'10 Proceedings of the 12th international conference on Practical Aspects of Declarative Languages
Harmfulness of code duplication: a structured review of the evidence
EASE'09 Proceedings of the 13th international conference on Evaluation and Assessment in Software Engineering
Empirical Software Engineering
Increasing clone maintenance support by unifying clone detection and refactoring activities
Information and Software Technology
Hi-index | 0.00 |
Code duplication, plausibly caused by copying source code and slightly modifying it, is often observed in large systems. Clone detection and documentation have been investigated by several researchers in the past years. Recently, research focus has shifted towards the investigation of software and process restructuring actions based on clone detection.This paper presents a new redesign approach developed for Java software systems. The approach factorizes the common parts of cloned methods and parameterizes their differences using the strategy design pattern. The new entities created by such transformations are also decoupled from the original contexts of their use thus facilitating reuse and increasing maintainability. The applicability and automation of the technique presented in the paper have been verified by partially redesigning JDK 1.1.5.