A space of layout styles for hierarchical graph models of software systems

Hierarchical graphs are widely used as models of the structure of software systems. A central problem in the visualization of hierarchical graphs is the computation of layouts, i.e. of positions of the nodes in two- or three-dimensional space. We derive requirements for graph layouts from various software analysis questions, and classify the required layouts along three dimensions: layouts with meaningful distances between single nodes vs. layouts with meaningful distances between groups of nodes, layouts reflecting adjacency vs. layouts reflecting hierarchy, and layouts that faithfully reflect the size of subgraphs vs. layouts where certain subgraphs are magnified. We present a fairly simple and theoretically validated energy model for computing such layouts.

[1]  Saul Greenberg,et al.  Navigating hierarchically clustered networks through fisheye and full-zoom methods , 1996, TCHI.

[2]  Ben Shneiderman,et al.  Tree visualization with tree-maps: 2-d space-filling approach , 1992, TOGS.

[3]  Michael Balzer,et al.  Software landscapes: visualizing the structure of large software systems , 2004, VISSYM'04.

[4]  Jeffery R. Westbrook,et al.  Maintaining hierarchical graph views , 2000, SODA '00.

[5]  Ayellet Tal,et al.  Dynamic Drawing of Clustered Graphs , 2004, IEEE Symposium on Information Visualization.

[6]  Hausi A. Müller,et al.  A reverse-engineering approach to subsystem structure identification , 1993, J. Softw. Maintenance Res. Pract..

[7]  Piet Hut,et al.  A hierarchical O(N log N) force-calculation algorithm , 1986, Nature.

[8]  Hausi A. Müller,et al.  The Software Bookshelf , 1997, IBM Syst. J..

[9]  Kozo Sugiyama,et al.  Layout Adjustment and the Mental Map , 1995, J. Vis. Lang. Comput..

[10]  Satoru Kawai,et al.  An Algorithm for Drawing General Undirected Graphs , 1989, Inf. Process. Lett..

[11]  Andreas Noack,et al.  An Energy Model for Visual Graph Clustering , 2003, GD.

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

[13]  Kozo Sugiyama,et al.  Visualization of structural information: automatic drawing of compound digraphs , 1991, IEEE Trans. Syst. Man Cybern..

[14]  Colin Ware,et al.  Layout for Visualizing Large Software Structures in 3D , 1997 .

[15]  Ben Shneiderman,et al.  Readings in information visualization - using vision to think , 1999 .

[16]  Lyn Bartram,et al.  The continuous zoom: a constrained fisheye technique for viewing and navigating large information spaces , 1995, UIST '95.

[17]  Peter Eades,et al.  A Heuristic for Graph Drawing , 1984 .

[18]  Xiaobo Wang,et al.  Generating Customized Layouts , 1995, Graph Drawing.

[19]  Steven P. Reiss An Engine for the 3D Visualization of Program Information , 1995, J. Vis. Lang. Comput..

[20]  Martin Fowler Reducing Coupling , 2001, IEEE Softw..

[21]  G. W. Furnas,et al.  Generalized fisheye views , 1986, CHI '86.

[22]  Colin Ware,et al.  Visualization of Large Nested Graphs in 3D: Navigation and Interaction , 1998, J. Vis. Lang. Comput..

[23]  Andreas Noack,et al.  Visual Clustering of Graphs with Nonuniform Degrees , 2004 .

[24]  Ayellet Tal,et al.  Dynamic Drawing of Clustered Graphs , 2004 .

[25]  Robert van Liere,et al.  GraphSplatting: Visualizing Graphs as Continuous Fields , 2003, IEEE Trans. Vis. Comput. Graph..

[26]  Christian S. Collberg,et al.  A system for graph-based visualization of the evolution of software , 2003, SoftVis '03.

[27]  Ulrik Brandes,et al.  Drawing on Physical Analogies , 2001, Drawing Graphs.

[28]  Stephen C. North,et al.  Online Hierarchical Graph Drawing , 2001, GD.

[29]  Emmanuel G. Noik Layout-independent fisheye views of nested graphs , 1993, Proceedings 1993 IEEE Symposium on Visual Languages.

[30]  Peter Eades,et al.  Journal of Graph Algorithms and Applications Navigating Clustered Graphs Using Force-directed Methods , 2022 .

[31]  Rainer Koschke,et al.  Atomic architectural component recovery for program understanding and evolution , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[32]  Peter Eades,et al.  FADE: Graph Drawing, Clustering, and Visual Abstraction , 2000, GD.

[33]  Stephan Diehl,et al.  Graphs, They Are Changing , 2002, GD.

[34]  Xiaomin Wu,et al.  Plugging-in visualization: experiences integrating a visualization tool with Eclipse , 2003, SoftVis '03.

[35]  David Harel,et al.  Drawing graphs nicely using simulated annealing , 1996, TOGS.

[36]  David A. Penny,et al.  The software landscape: a visual formalism for programming-in-the-large , 1993 .

[37]  Kozo Sugiyama,et al.  Graph Drawing by the Magnetic Spring Model , 1995, J. Vis. Lang. Comput..

[38]  Manojit Sarkar,et al.  Graphical fisheye views , 1994, CACM.

[39]  Edward M. Reingold,et al.  Graph drawing by force‐directed placement , 1991, Softw. Pract. Exp..

[40]  Jarke J. van Wijk,et al.  Interactive Visualization of Small World Graphs , 2004, IEEE Symposium on Information Visualization.

[41]  Hausi A. Müller,et al.  Customizing a Fisheye View Algorithm to Preserve the Mental Map , 1999, J. Vis. Lang. Comput..