A Layered Software City for Dependency Visualization

A Software City is a an established way to visualize metrics such as the test coverage or complexity. As current layouting algorithms are mainly based on the static code structure (e.g., classes and packages), dependencies that are orthogonal to this structure often clutter the visualization and are hard to grasp. This paper applies layered graph drawing to layout a Software City in 3D. The proposed layout takes both the dependencies and the static code structure into account. This minimizes the number of explicitly displayed dependencies. The resulting lower cognitive load makes the software architecture easier to understand. We evaluate the advantages of our layout over a classic layouting algorithm in a controlled study on a real world project.

[1]  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).

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

[3]  Richard M. Karp,et al.  Reducibility Among Combinatorial Problems , 1972, 50 Years of Integer Programming.

[4]  Hong Zhou,et al.  Edge bundling in information visualization , 2013 .

[5]  Hanspeter Mössenböck,et al.  Memory Cities: Visualizing Heap Memory Evolution Using the Software City Metaphor , 2020, 2020 Working Conference on Software Visualization (VISSOFT).

[6]  Janina Elyse A. Reyes,et al.  Workload Level Assessment of Online Classes of College Students in Technological Institute if the Philippines Manila Using NASA Task Load Index (NASA TLX) , 2021 .

[7]  Jarke J. van Wijk,et al.  Force‐Directed Edge Bundling for Graph Visualization , 2009, Comput. Graph. Forum.

[8]  Alexandru Telea,et al.  Data visualization - principles and practice , 2007 .

[9]  David Notkin,et al.  Software Reflexion Models: Bridging the Gap between Design and Implementation , 2001, IEEE Trans. Software Eng..

[10]  Michael Kaufmann,et al.  Improving Layered Graph Layouts with Edge Bundling , 2010, GD.

[11]  Bedir Tekinerdogan,et al.  Software architecture tool demonstrations , 2012, WICSA/ECSA Companion Volume.

[12]  Wilhelm Hasselbring,et al.  Live trace visualization for comprehending large software landscapes: The ExplorViz approach , 2013, 2013 First IEEE Working Conference on Software Visualization (VISSOFT).

[13]  Pavol Návrat,et al.  VR City: Software Analysis in Virtual Reality Environment , 2017, 2017 IEEE International Conference on Software Quality, Reliability and Security Companion (QRS-C).

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

[15]  S. Hart,et al.  Development of NASA-TLX (Task Load Index): Results of Empirical and Theoretical Research , 1988 .

[16]  Giuseppe Liotta,et al.  On the Parameterized Complexity of Layered Graph Drawing , 2001, Algorithmica.

[17]  Yifan Hu,et al.  Multilevel agglomerative edge bundling for visualizing large graphs , 2011, 2011 IEEE Pacific Visualization Symposium.

[18]  Mitsuhiko Toda,et al.  Methods for Visual Understanding of Hierarchical System Structures , 1981, IEEE Transactions on Systems, Man, and Cybernetics.

[19]  Olivier Zendra,et al.  Visualization of the Static Aspects of Software: A Survey , 2011, IEEE Transactions on Visualization and Computer Graphics.

[20]  Michael Kaufmann,et al.  An Efficient Implementation of Sugiyama's Algorithm for Layered Graph Drawing , 2004, J. Graph Algorithms Appl..

[21]  Pierre Poulin,et al.  Visual Detection of Design Anomalies , 2008, 2008 12th European Conference on Software Maintenance and Reengineering.

[22]  Thomas Zimmermann,et al.  Changes and bugs — Mining and predicting development activities , 2009, 2009 IEEE International Conference on Software Maintenance.

[23]  T. Owiński [20 years later]. , 1968, Czasopismo stomatologiczne.

[24]  Philippe Dugerdil,et al.  EvoSpaces Visualization Tool: Exploring Software Architecture in 3D , 2007, 14th Working Conference on Reverse Engineering (WCRE 2007).

[25]  Sandra G. Hart,et al.  Nasa-Task Load Index (NASA-TLX); 20 Years Later , 2006 .