Thread City: Combined Visualization of Structure and Activity for the Exploration of Multi-threaded Software Systems

This paper presents a novel visualization technique for the interactive exploration of multi-threaded software systems. It combines the visualization of static system structure based on the Evo Streets approach with an additional traffic metaphor to communicate the runtime characteristics of multiple threads simultaneously. To improve visual scalability with respect to the visualization of complex software systems, we further present an effective level-of-detail visualization based on hierarchical aggregation of system components by taking viewing parameters into account. We demonstrate our technique by means of a prototypical implementation and compare our result with existing visualization techniques.

[1]  Daniel A. Keim,et al.  Challenges in Visual Data Analysis , 2006, Tenth International Conference on Information Visualisation (IV'06).

[2]  Ben Shneiderman,et al.  The eyes have it: a task by data type taxonomy for information visualizations , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.

[3]  Wilhelm Hasselbring,et al.  Synchrovis: 3D visualization of monitoring traces in the city metaphor for analyzing concurrency , 2013, 2013 First IEEE Working Conference on Software Visualization (VISSOFT).

[4]  Jürgen Döllner,et al.  Monitoring code quality and development activity by software maps , 2011, MTD '11.

[5]  Jean-Daniel Fekete,et al.  Hierarchical Aggregation for Information Visualization: Overview, Techniques, and Design Guidelines , 2010, IEEE Transactions on Visualization and Computer Graphics.

[6]  Michele Lanza,et al.  Visualizing Software Systems as Cities , 2007, 2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[7]  David Lorge Parnas,et al.  Software aging , 1994, Proceedings of 16th International Conference on Software Engineering.

[8]  Peter Liggesmeyer,et al.  eCITY+: A Tool to Analyze Software Architectural Relations through Interactive Visual Support , 2014, ECSAW '14.

[9]  Jürgen Döllner,et al.  ViewFusion: Correlating Structure and Activity Views for Execution Traces , 2012, TPCG.

[10]  Thomas A. Corbi,et al.  Program Understanding: Challenge for the 1990s , 1989, IBM Syst. J..

[11]  Jürgen Döllner,et al.  Understanding complex multithreaded software systems by using trace visualization , 2010, SOFTVIS '10.

[12]  Jürgen Döllner,et al.  SYNCTRACE: Visual thread-interplay analysis , 2013, 2013 First IEEE Working Conference on Software Visualization (VISSOFT).

[13]  Jürgen Döllner,et al.  Smart and physically-based navigation in 3D geovirtual environments , 2005, Ninth International Conference on Information Visualisation (IV'05).

[14]  Claus Lewerentz,et al.  Representing development history in software cities , 2010, SOFTVIS '10.

[15]  Olivier Zendra,et al.  3D Hierarchical Edge bundles to visualize relations in a software city metaphor , 2011, 2011 6th International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT).

[16]  Andrew Begel,et al.  Analyze this! 145 questions for data scientists in software engineering , 2013, ICSE.

[17]  Mauricio A. Saca Refactoring improving the design of existing code , 2017, 2017 IEEE 37th Central America and Panama Convention (CONCAPAN XXXVII).

[18]  Benjamin B. Bederson,et al.  A review of overview+detail, zooming, and focus+context interfaces , 2009, CSUR.

[19]  Michael Balzer,et al.  Voronoi treemaps for the visualization of software metrics , 2005, SoftVis '05.