Supporting the analysis of clones in software systems: Research Articles: Journal of Software Maintenance and Evolution: Research and Practice: Vol 18, No 2

Authors: Cory J. Kapser Michael W. Godfrey

Venue: Journal of Software Maintenance and Evolution: Research and Practice, Vol. 18, No. 2, pp. 61–82, 2006

Year: 2006

Abstract: 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.

BibTeX:

@article{coryj.kapser2006staocissrajosmaerapv1n2,
    author = "Cory J. Kapser and Michael W. Godfrey",
    title = "Supporting the analysis of clones in software systems: Research Articles: Journal of Software Maintenance and Evolution: Research and Practice: Vol 18, No 2",
    year = "2006",
    pages = "61–82",
    journal = "Journal of Software Maintenance and Evolution: Research and Practice",
    volume = "18",
    number = "2"
}

Plain Text:

Cory J. Kapser and Michael W. Godfrey, "Supporting the analysis of clones in software systems: Research Articles: Journal of Software Maintenance and Evolution: Research and Practice: Vol 18, No 2," Journal of Software Maintenance and Evolution: Research and Practice, pp. 61–82