Pattern matching for clone and concept detection
Reverse engineering
CCFinder: a multilinguistic token-based code clone detection system for large scale source code
IEEE Transactions on Software Engineering
Substring Matching for Clone Detection and Change Tracking
ICSM '94 Proceedings of the International Conference on Software Maintenance
Experiment on the Automatic Detection of Function Clones in a Software System Using Metrics
ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
Navigating the textual redundancy web in legacy source
CASCON '96 Proceedings of the 1996 conference of the Centre for Advanced Studies on Collaborative research
Visualizing textual redundancy in legacy source
CASCON '94 Proceedings of the 1994 conference of the Centre for Advanced Studies on Collaborative research
Measuring Clone Based Reengineering Opportunities
METRICS '99 Proceedings of the 6th International Symposium on Software Metrics
Gemini: Maintenance Support Environment Based on Code Clone Analysis
METRICS '02 Proceedings of the 8th International Symposium on Software Metrics
On finding duplication and near-duplication in large software systems
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
Advanced Clone-Analysis to Support Object-Oriented System Refactoring
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
Identifying Similar Code with Program Dependence Graphs
WCRE '01 Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01)
Clone Detection Using Abstract Syntax Trees
ICSM '98 Proceedings of the International Conference on Software Maintenance
A Language Independent Approach for Detecting Duplicated Code
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Evolution in Open Source Software: A Case Study
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
Aiding Comprehension of Cloning Through Categorization
IWPSE '04 Proceedings of the Principles of Software Evolution, 7th International Workshop
Insights into System-Wide Code Duplication
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
Improved Tool Support for the Investigation of Duplication in Software
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
"Cloning considered harmful" considered harmful: patterns of cloning in software
Empirical Software Engineering
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)
Near-miss function clones in open source software: an empirical study
Journal of Software Maintenance and Evolution: Research and Practice - Working Conference on Reverse Engineering (WCRE 2008)
Clone detection by exploiting assembler
Proceedings of the 4th International Workshop on Software Clones
Code clones in feature-oriented software product lines
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
An extended assessment of type-3 clones as detected by state-of-the-art tools
Software Quality Control
An empirical study on inconsistent changes to code clones at the release level
Science of Computer Programming
Extensions during software evolution: do objects meet their promise?
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Hi-index | 0.00 |
Code duplication is a well-documented problem in industrial software systems. There has been considerable research into techniques for detecting duplication in software, and there are several effective tools to perform this task. However, there have been few detailed qualitative studies into how cloning actually manifests itself within software systems. This is primarily due to the large result sets that many clone-detection tools return; these result sets are very difficult to manage without complementary tool support that can scale to the size of the problem, and this kind of support does not currently exist. In this paper we present an in-depth case study of cloning in a large software system that is in wide use, the Apache Web server; we provide insights into cloning as it exists in this system, and we demonstrate techniques to manage and make effective use of the large result sets of clone-detection tools. In our case study, we found several interesting types of cloning occurrences, such as ‘cloning hotspots’, where a single subsystem comprising only 17% of the system code contained 38.8% of the clones. We also found several examples of cloning behavior that were beneficial to the development of the system, in particular cloning as a way to add experimental functionality. Copyright © 2006 John Wiley & Sons, Ltd.