On the Comprehension of Code Clone Visualizations: A Controlled Study using Eye Tracking

Abstract

Code clone visualizations (CCVs) are graphical representations of clone detection results provided by various state-of-the-art command line and graphical analysis tools. In order to properly analyze and manipulate code clones within a target system, these visualizations must be easily and efficiently comprehensible. We conducted an eye-tracking study with 20 participants (expert, intermediate, and novice) to assess how well people can comprehend visualizations such as Scatter plots, Treemaps, and Hierarchical Dependency Graphs provided by VisCad, a recent clone visualization tool. The goals of the study were to find out what elements of the visualizations (e.g., colors, shapes, object positions) are most important for comprehension, and to identify common usage patterns for different groups. Our results help us understand how developers with different levels of expertise explore and navigate through the visualizations while performing specific tasks. Distinctive patterns of eye movements for different visualizations were found depending on the expertise of the participants. Color, shape and position information were found to play vital roles in comprehension of CCVs. Our results provide recommendations that can improve the implementation of visualization techniques in VisCad and other clone visualization systems.

Publication
Proceedings of the IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2015. 161-170.
Md. Sami Uddin
PhD Candidate

The Interaction Lab, University of Saskatchewan, Canada.

Varun Gaur
MSc Student

The Interaction Lab, University of Saskatchewan, Canada.

Dr. Carl Gutwin
Professor

The Interaction Lab, University of Saskatchewan, Canada.

Dr. Chanchal K. Roy
Professor

University of Saskatchewan, Canada.