Surfnet logo

Clone visualization with multi-touch surfaces

This is a completed project.


Code cloning is a common practice in software development. Code cloning has both positive aspects such as accelerating the development process and negative aspects such as code bloat.  This research investigated using multi-touch surfaces to visualize and manage clone genealogies. We developed models for constructing and visualizing software clone genealogies which we incorporated into a prototype for a multi-touch surface, (e.g., iPad). To validate the model and the prototype, we conducted a number of empirical studies that investigated clone evolution. The prototype provides an overview of the clone geneaologies and allows us to explore the clones with its categorization, filtering and analysis capabilities.

A clone classes and their relevant metrics are presented as annotated rectangles and clone genealogies are presented as a series of clone class rectangles with borders indicating the clone change patterns as they evolve with the software.