A survey on goal-oriented visualization of clone data

Comprehending software clones is necessary for a number of activities in software development. The comprehension of software clones is challenged by the sheer volume of data and the complexity of the information content in that data. Visualization, or visual data analysis, takes advantage of human cognitive skills to discover unstructured insights from the visual presentations of complex and voluminous data. In this paper, we survey the existing literature on visualization of software clones. We gather the insights provided, and put that information in context of actual information needs systematically derived from the clone management goals. This framework allows us to better understand the role a visualization may play in achieving a specific user goal, identify potential gaps between existing types of visualization and information needs, and find complementary non-redundant subsets of visualizations for each user goal.

[1]  Nils Göde,et al.  Efficiently handling clone data: RCF and cyclone , 2011, IWSC '11.

[2]  NovaisRenato Lima,et al.  Software evolution visualization , 2007 .

[3]  Stephen G. Eick,et al.  Seesoft-A Tool For Visualizing Line Oriented Software Statistics , 1992, IEEE Trans. Software Eng..

[4]  Shinji Kusumoto,et al.  CCFinder: A Multilinguistic Token-Based Code Clone Detection System for Large Scale Source Code , 2002, IEEE Trans. Software Eng..

[5]  Andrian Marcus,et al.  A task oriented view of software visualization , 2002, Proceedings First International Workshop on Visualizing Software for Understanding and Analysis.

[6]  Amal Zouaq,et al.  Light-weight ontology alignment using best-match clone detection , 2013, 2013 7th International Workshop on Software Clones (IWSC).

[7]  Duk-Kyun Woo,et al.  Applying a Code Clone Detection Method to Domain Analysis of Device Drivers , 2007, 14th Asia-Pacific Software Engineering Conference (APSEC'07).

[8]  Chanchal Kumar Roy,et al.  Comparison and evaluation of code clone detection techniques and tools: A qualitative approach , 2009, Sci. Comput. Program..

[9]  Maninder Singh,et al.  Software clone detection: A systematic review , 2013, Inf. Softw. Technol..

[10]  Danny Holten,et al.  Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data , 2006, IEEE Transactions on Visualization and Computer Graphics.

[11]  Katsuro Inoue,et al.  Very-Large Scale Code Clone Analysis and Visualization of Open Source Programs Using Distributed CCFinder: D-CCFinder , 2007, 29th International Conference on Software Engineering (ICSE'07).

[12]  Douglas H. Martin,et al.  Analyzing web service similarity using contextual clones , 2011, IWSC '11.

[13]  J. J. van Wijk,et al.  Visualization of Graphs and Trees for Software Analysis , 2005 .

[14]  Mattia Monga,et al.  Using Code Normalization for Fighting Self-Mutating Malware , 2006, ISSSE.

[15]  Florian Deißenböck,et al.  Continuous quality control of long lived software systems , 2009 .

[16]  Chanchal Kumar Roy,et al.  VisCad: flexible code clone analysis support for NiCad , 2011, IWSC '11.

[17]  Chanchal Kumar Roy,et al.  The vision of software clone management: Past, present, and future (Keynote paper) , 2014, 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE).

[18]  Stan Jarzabek,et al.  Query-based filtering and graphical view generation for clone analysis , 2008, 2008 IEEE International Conference on Software Maintenance.

[19]  Stéphane Ducasse,et al.  Polymetric Views - A Lightweight Visual Approach to Reverse Engineering , 2003, IEEE Trans. Software Eng..

[20]  Nicholas A. Kraft,et al.  Clone evolution: a systematic review , 2011, J. Softw. Evol. Process..

[21]  S. Kusumoto,et al.  Gemini: Code Clone Analysis Tool , 2002 .

[22]  Zhen Ming Jiang,et al.  Visualizing and Understanding Code Duplication in Large Software Systems , 2006 .

[23]  Chanchal Kumar Roy,et al.  Visualizing the evolution of code clones , 2011, IWSC '11.

[24]  Foutse Khomh,et al.  Inferring Repository File Structure Modifications Using Nearest-Neighbor Clone Detection , 2012, 2012 19th Working Conference on Reverse Engineering.

[25]  Andrew Walenstein,et al.  The Software Similarity Problem in Malware Analysis , 2006, Duplication, Redundancy, and Similarity in Software.

[26]  Lucian Voinea,et al.  Visual Clone Analysis with SolidSDD , 2014, 2014 Second IEEE Working Conference on Software Visualization.

[27]  License Creative Commons BY-NC-ND 3.0 Unported license , 2022 .

[28]  Minhaz Fahim Zibran Analysis and visualization for clone refactoring , 2015, 2015 IEEE 9th International Workshop on Software Clones (IWSC).

[29]  Miryung Kim,et al.  SoftGUESS: Visualization and Exploration of Code Clones in Context , 2007, 29th International Conference on Software Engineering (ICSE'07).

[30]  Alexandru Telea,et al.  Visual support for porting large code bases , 2011, 2011 6th International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT).

[31]  Qiang Tu,et al.  Tracking structural evolution using origin analysis , 2002, IWPSE '02.

[32]  Stéphane Ducasse,et al.  Insights into system-wide code duplication , 2004, 11th Working Conference on Reverse Engineering.

[33]  Michael J. McGuffin,et al.  DiffAni: Visualizing Dynamic Graphs with a Hybrid of Difference Maps and Animation , 2013, IEEE Transactions on Visualization and Computer Graphics.

[34]  James R. Cordy,et al.  Exploring Large-Scale System Similarity Using Incremental Clone Detection and Live Scatterplots , 2011, 2011 IEEE 19th International Conference on Program Comprehension.

[35]  Richard C. Holt,et al.  Visualizing Clone Cohesion and Coupling , 2006, 2006 13th Asia Pacific Software Engineering Conference (APSEC'06).

[36]  Matthias Rieger,et al.  Effective Clone Detection Without Language Barriers , 2005 .

[37]  Ben Shneiderman,et al.  Tree-maps: a space-filling approach to the visualization of hierarchical information structures , 1991, Proceeding Visualization '91.

[38]  Rainer Koschke,et al.  What do we need to know about clones? deriving information needs from user goals , 2015, 2015 IEEE 9th International Workshop on Software Clones (IWSC).

[39]  Jeffrey G. Gray,et al.  Visualization of clone detection results , 2006, ETX.

[40]  Hao Lü,et al.  Cascaded treemaps: examining the visibility and stability of structure in treemaps , 2008, Graphics Interface.

[41]  J. Howard Johnson,et al.  Visualizing textual redundancy in legacy source , 1994, CASCON.

[42]  Maximilian Junker,et al.  Using edge bundle views for clone visualization , 2012, 2012 6th International Workshop on Software Clones (IWSC).

[43]  Jonathan Helfman,et al.  Dotplot Patterns: A Literal Look at Pattern Languages , 1996, Theory Pract. Object Syst..

[44]  Philip Bille,et al.  A survey on tree edit distance and related problems , 2005, Theor. Comput. Sci..

[45]  Rainer Koschke,et al.  Survey of Research on Software Clones , 2006, Duplication, Redundancy, and Similarity in Software.