We present ClonEvol, a visual analysis tool that assists in obtaining insight into the state and the evolution of a C/C++/Java source code base on project, file and scope level. ClonEvol combines information obtained from the software versioning system and contents of files that change between versions; The tool operates as tool-chain of Subversion (SVN), Doxygen (applied as static analyzer) and Simian as code duplication detector. The consolidated information is presented to the user in an interactive visual manner. The focus of the presented tool lies on scalability (in time and space) concerning data acquisition, data processing and visualization, and ease of use. The visualization is approached by using a (mirrored) radial tree to show the file and scope structures, complemented with hierarchically bundled edges that show clone relations. We demonstrate the use of ClonEvol on a real world code base.
[1]
Chanchal Kumar Roy,et al.
Comparison and evaluation of code clone detection techniques and tools: A qualitative approach
,
2009,
Sci. Comput. Program..
[2]
Alexandru Telea,et al.
Code Flows: Visualizing Structural Evolution of Source Code
,
2008,
Comput. Graph. Forum.
[3]
Lucian Voinea,et al.
The Solid* toolset for software visual analytics of program structure and metrics comprehension: From research prototype to product
,
2014,
Sci. Comput. Program..
[4]
Danny Holten,et al.
Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data
,
2006,
IEEE Transactions on Visualization and Computer Graphics.
[5]
Uwe Zdun,et al.
Architectural Patterns Revisited - A Pattern Language
,
2005,
EuroPLoP.