gCad: A Near-Miss Clone Genealogy Extractor to Support Clone Evolution Analysis

Ripon K. Saha, Chanchal K. Roy, Kevin A. Schneider
2013 2013 IEEE International Conference on Software Maintenance  
Understanding the evolution of code clones is important for both developers and researchers to understand the maintenance implications of clones and to design robust clone management systems. Generally, a study of clone evolution starts with extracting clone genealogies across multiple versions of a program and classifying them according to their change patterns. Although these tasks are straightforward for exact clones, extracting the history of near-miss clones and classifying their change
more » ... terns automatically is challenging due to the potential diverse variety of clone fragments even in the same clone class. In this tool demonstration paper we describe the design and implementation of a near-miss clone genealogy extractor, gCad, that can extract and classify both exact and near-miss clone genealogies. Developers and researchers can compute a wide range of popular metrics regarding clone evolution by simply post processing the gCad results. gCad scales well to large subject systems, works for different granularities of clones, and adapts easily to popular clone detection tools.
doi:10.1109/icsm.2013.79 dblp:conf/icsm/SahaRS13 fatcat:6sfidfhtrbacxfooskodrjofgq