Using Server Pages to Unify Clones in Web Applications: A Trade-Off Analysis
ICSE '07 Proceedings of the 29th international conference on Software Engineering
New Frontiers of Reverse Engineering
FOSE '07 2007 Future of Software Engineering
Identifying Changed Source Code Lines from Version Repositories
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
Evaluating the Harmfulness of Cloning: A Change Based Experiment
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
Context-based detection of clone-related bugs
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Assessing the impact of bad smells using historical information
Ninth international workshop on Principles of software evolution: in conjunction with the 6th ESEC/FSE joint meeting
Clone detection in automotive model-based development
Proceedings of the 30th international conference on Software engineering
Towards a mutation-based automatic framework for evaluating code clone detection tools
Proceedings of the 2008 C3S2E conference
Semi-automating small-scale source code reuse via structural correspondence
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Software Reuse beyond Components with XVCL (Tutorial)
Generative and Transformational Techniques in Software Engineering II
Journal of Software Maintenance and Evolution: Research and Practice
Empirical evaluation of clone detection using syntax suffix trees
Empirical Software Engineering
"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)
Towards generic representation of web applications: solutions and trade-offs
Software—Practice & Experience
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Characterizing Example Embedding as a software activity
SUITE '09 Proceedings of the 2009 ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation
Semi-Automating Pragmatic Reuse Tasks
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
An empirical study on the maintenance of source code clones
Empirical Software Engineering
Clone region descriptors: Representing and tracking duplication in source code
ACM Transactions on Software Engineering and Methodology (TOSEM)
Distinguishing copies from originals in software clones
Proceedings of the 4th International Workshop on Software Clones
Are clones harmful for maintenance?
Proceedings of the 4th International Workshop on Software Clones
Classifying code clones with configuration
Proceedings of the 4th International Workshop on Software Clones
Hot clones, maintaining a link between software clones across repositories
Proceedings of the 4th International Workshop on Software Clones
Proceedings of the 4th International Workshop on Software Clones
Scalable and systematic detection of buggy inconsistencies in source code
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Developers attentiveness to example usage
Human Aspects of Software Engineering
Tracking the evolution of code clones
SOFSEM'11 Proceedings of the 37th international conference on Current trends in theory and practice of computer science
Is cloned code older than non-cloned code?
Proceedings of the 5th International Workshop on Software Clones
Pragmatic reuse in web application development
Proceedings of the 33rd International Conference on Software Engineering
An empirical study of long-lived code clones
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
Reusing web application user-interface controls
ICWE'11 Proceedings of the 11th international conference on Web engineering
Similar code detection and elimination for erlang programs
PADL'10 Proceedings of the 12th international conference on Practical Aspects of Declarative Languages
A method for analyzing code homology in genealogy of evolving software
FASE'10 Proceedings of the 13th international conference on Fundamental Approaches to Software Engineering
An empirical study on inconsistent changes to code clones at the release level
Science of Computer Programming
IDE-based real-time focused search for near-miss clones
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Empirical Software Engineering
Active refinement of clone anomaly reports
Proceedings of the 34th International Conference on Software Engineering
Hot clones: combining search-driven development, clone management, and code provenance
Proceedings of the 34th International Conference on Software Engineering
Maintainability defects detection and correction: a multi-objective approach
Automated Software Engineering
A fuzzy model for high-level clones in software
ACM SIGSOFT Software Engineering Notes
Does the discipline of preprocessor annotations matter?: a controlled experiment
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Hi-index | 0.00 |
Current literature on the topic of duplicated (cloned) code in software systems often considers duplication harmful to the system quality and the reasons commonly cited for duplicating code often have a negative connotation. While these positions are sometimes correct, during our case studies we have found that this is not universally true, and we have found several situations where code duplication seems to be a reasonable or even beneficial design option. For example, a method of introducing experimental changes to core subsystems is to duplicate the subsystem and introduce changes there in a kind of sandbox testbed. As features mature and become stable within the experimental subsystem, they can then be introduced gradually into the stable code base. In this way risk of introducing instabilities in the stable version is minimized. This paper describes several patterns of cloning that we have encountered in our case studies and discusses the advantages and disadvantages associated with using them.