Visual exploration of program structure, dependencies and metrics with SolidSX

We present SolidSX, an visual analysis tool for code structure, dependencies, and metrics. Our tool facilitates the understanding of large program code bases by simplifying the entire pipeline from data acquisition up to visualization and interactive querying. Secondly, SolidSX is an easy to use, scalable, and configurable visualization component for compound attributed graphs extracted by third-party tools, easy to integrate by developers in their own applications. We detail the architecture and functions of SolidSX, present examples for its two use-cases, and outline insights collected from tool usage in academia and industry.

[1]  Michele Lanza,et al.  Program Comprehension through Software Habitability , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[2]  Harald C. Gall,et al.  EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution , 2009, Human Machine Interaction.

[3]  Rainer Koschke,et al.  Journal of Software Maintenance and Evolution: Research and Practice Software Visualization in Software Maintenance, Reverse Engineering, and Re-engineering: a Research Survey , 2022 .

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

[5]  Ramana Rao,et al.  The table lens: merging graphical and symbolic representations in an interactive focus + context visualization for tabular information , 1994, CHI '94.

[6]  Stuart M. Charters,et al.  The end of the line for Software Visualisation? , 2003, VISSOFT.

[7]  Steven P. Reiss The Paradox of Software Visualization , 2005, 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[8]  Alexandru Telea,et al.  Extraction and visualization of call dependencies for large C/C++ code bases: A comparative study , 2009, 2009 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[9]  Oscar Nierstrasz,et al.  Journal of Software Maintenance and Evolution: Research and Practice Software Cartography: Thematic Software Visualization with Consistent Layout ‡ , 2022 .

[10]  Richard C. Holt,et al.  Completeness of a fact extractor , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

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

[12]  Hausi A. Müller,et al.  Programmable Reverse Engineering , 1994, Int. J. Softw. Eng. Knowl. Eng..

[13]  Yixin Chen,et al.  A comparison of a graph database and a relational database: a data provenance perspective , 2010, ACM SE '10.

[14]  I L Kaplan,et al.  Implementing Graph Pattern Queries on a Relational Database , 2007 .

[15]  Simon Urbanek,et al.  Interactive graphics for Data Analysis - Principles and Examples , 2008, Computer science and data analysis series.

[16]  Tibor Gyimóthy,et al.  Columbus - reverse engineering tool and schema for C++ , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[17]  Lucian Voinea,et al.  A Tool for Optimizing the Build Performance of Large Software Code Bases , 2008, 2008 12th European Conference on Software Maintenance and Reengineering.

[18]  Lucian Voinea,et al.  An interactive reverse engineering environment for large-scale C++ code , 2008, SoftVis '08.

[19]  Lucian Voinea,et al.  Visual software analytics for the build optimization of large-scale software systems , 2011, Comput. Stat..

[20]  James Abello,et al.  Matrix Zoom: A Visual Interface to Semi-External Graphs , 2004 .

[21]  Stéphane Ducasse,et al.  The class blueprint: visually supporting the understanding of glasses , 2005, IEEE Transactions on Software Engineering.

[22]  Ben Shneiderman,et al.  Treemaps for space-constrained visualization of hierarchies , 2005 .

[23]  Oscar Nierstrasz,et al.  Software Cartography: thematic software visualization with consistent layout , 2010 .