ABSTRACT
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.
- Balzer, M., Noack, A., Deussen, O., and Lewerentz, C. 2004. Software landscapes: Visualizing the structure of large software systems. In Proc. Symposium on Visualization (VisSym 2004), 261--266.]] Google ScholarDigital Library
- Barnes, J., and Hut, P. 1986. A hierarchical O(N log N) force-calculation algorithm. Nature 324, 446--449.]]Google ScholarCross Ref
- Bartram, L., Ho, A., Dill, J., and Henigman, F. 1995. The continuous zoom: A constrained fisheye technique for viewing and navigating large information spaces. In Proc. 8th ACM Symposium on User Interface Software and Technology (UIST 1995), 207--215.]] Google ScholarDigital Library
- Brandes, U. 2001. Drawing on physical analogies. In Drawing Graphs: Methods and Models, M. Kaufmann and D. Wagner, Eds., LNCS 2025. Springer-Verlag, Berlin, 71--86.]] Google ScholarDigital Library
- Buchsbaum, A. L., and Westbrook, J. 2000. Maintaining hierarchical graph views. In Proc. 11th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2000), 566--575.]] Google ScholarDigital Library
- Card, S. K., Mackinlay, J. D., and Shneiderman, B. 1999. Readings in Information Visualization: Using Vision to Think. Morgan Kaufmann.]] Google ScholarDigital Library
- Collberg, C. S., Kobourov, S. G., Nagra, J., Pitts, J., and Wampler, K. 2003. A system for graph-based visualization of the evolution of software. In Proc. ACM Symposium on Software Visualization (SoftVis 2003), 77--86.]] Google ScholarDigital Library
- Davidson, R., and Harel, D. 1996. Drawing graphs nicely using simulated annealing. ACM Transactions on Graphics 15, 4, 301--331.]] Google ScholarDigital Library
- Di Battista, G., Eades, P., Tamassia, R., and Tollis, I. G. 1999. Graph Drawing: Algorithms for the Visualization of Graphs. Prentice Hall.]] Google ScholarDigital Library
- Diehl, S., and Görg, C. 2002. Graphs, they are changing. In Proc. 10th International Symposium on Graph Drawing (GD 2002), Springer-Verlag, LNCS 2528, 23--30.]] Google ScholarDigital Library
- Eades, P., and Huang, M. L. 2000. Navigating clustered graphs using force-directed methods. Journal of Graph Algorithms and Applications 4, 3, 157--181.]]Google ScholarCross Ref
- Eades, P. 1984. A heuristic for graph drawing. Congressus Numerantium 42, 149--160.]]Google Scholar
- Finnigan, P. J., Holt, R. C., Kalas, I., Kerr, S., Kontogiannis, K., Müller, H. A., Mylopoulos, J., Perelgut, S. G., Stanley, M., and Wong, K. 1997. The software bookshelf. IBM Systems Journal 36, 4, 564--593.]] Google ScholarDigital Library
- Fowler, M. 2001. Reducing coupling. IEEE Software 18, 4, 102--104.]] Google ScholarDigital Library
- Frishman, Y., and Tal, A. 2004. Dynamic drawing of clustered graphs. In Proc. IEEE Symposium on Information Visualization (InfoVis 2004), 191--198.]] Google ScholarDigital Library
- Fruchterman, T. M. J., and Reingold, E. M. 1991. Graph drawing by force-directed placement. Software -- Practice and Experience 21, 11, 1129--1164.]] Google ScholarDigital Library
- Furnas, G. W. 1986. Generalized fisheye views. In Proc. ACM SIGCHI Conference on Human Factors in Computing Systems (CHI 1986), 16--23.]] Google ScholarDigital Library
- Huang, M. L. 1999. Online Information Visualization of Huge Data Spaces. PhD thesis, Department of Computer Science and Software Engineering, University of Newcastle.]]Google Scholar
- Kamada, T., and Kawai, S. 1989. An algorithm for drawing general undirected graphs. Information Processing Letters 31, 1, 7--15.]] Google ScholarDigital Library
- Koschke, R. 2000. Atomic Architectural Component Recovery for Program Understanding and Evolution. PhD thesis, Institut für Informatik, Universität. Stuttgart.]]Google Scholar
- Lintern, R., Michaud, J., Storey, M.-A. D., and Wu, X. 2003. Plugging-in visualization: Experiences integrating a visualization tool with Eclipse. In Proc. ACM Symposium on Software Visualization (SoftVis 2003), 47--56.]] Google ScholarDigital Library
- Misue, K., Eades, P., Lai, W., and Sugiyama, K. 1995. Layout adjustment and the mental map. Journal of Visual Languages and Computing 6, 2, 183--210.]]Google ScholarCross Ref
- Müller, H. A., Orgun, M. A., Tilley, S. R., and Uhl, J. S. 1993. A reverse engineering approach to subsystem structure identification. Journal of Software Maintenance: Research and Practice 5, 4, 181--204.]]Google ScholarCross Ref
- Murphy, G. C., Notkin, D., and Sullivan, K. J. 2001. Software reflexion models: Bridging the gap between design and implementation. IEEE Transactions on Software Engineering 27, 4, 364--380.]] Google ScholarDigital Library
- Noack, A. 2004. An energy model for visual graph clustering. In Proc. 11th International Symposium on Graph Drawing (GD 2003), Springer-Verlag, LNCS 2912, 425--436.]]Google ScholarCross Ref
- Noack, A. 2004. Visual clustering of graphs with nonuniform degrees. Tech. Rep. 02/04, Institute of Computer Science, Brandenburg University of Technology at Cottbus.]]Google Scholar
- Noik, E. G. 1993. Layout-independent fisheye views of nested graphs. In Proc. IEEE Workshop on Visual Languages (VL 1993), 336--341.]]Google ScholarCross Ref
- North, S. C., and Woodhull, G. 2002. Online hierarchical graph drawing. In Proc. 9th International Symposium on Graph Drawing (GD 2001), Springer-Verlag, LNCS 2265, 232--246.]] Google ScholarDigital Library
- Parker, G., Franck, G., and Ware, C. 1998. Visualization of large nested graphs in 3d: Navigation and interaction. Journal of Visual Languages and Computing 9, 3, 299--317.]]Google ScholarCross Ref
- Penny, D. A. 1992. The Software Landscape: A Visual Formalism for Programming-in-the-Large. PhD thesis, Department of Computer Science, University of Toronto.]] Google ScholarDigital Library
- Quigley, A. J., and Eades, P. 2001. FADE: Graph drawing, clustering, and visual abstraction. In Proc. 8th International Symposium on Graph Drawing (GD 2000), Springer-Verlag, LNCS 1984, 197--210.]] Google ScholarDigital Library
- Reiss, S. P. 1995. An engine for the 3d visualization of program information. Journal of Visual Languages and Computing 6, 3, 299--323.]]Google ScholarDigital Library
- Sarkar, M., and Brown, M. H. 1994. Graphical fisheye views. Communications of the ACM 37, 12, 73--84.]] Google ScholarDigital Library
- Schaffer, D., Zuo, Z., Greenberg, S., Bartram, L., Dill, J., Dubs, S., and Roseman, M. 1996. Navigating hierarchically clustered networks through fisheye and full-zoom methods. ACM Transactions on Computer-Human Interaction 3, 2, 162--188.]] Google ScholarDigital Library
- Shneiderman, B. 1992. Tree visualization with tree-maps: A 2-d space-filling approach. ACM Transactions on Graphics 11, 1, 92--99.]] Google ScholarDigital Library
- Storey, M.-A. D., Fracchia, F. D., and Müller, H. A. 1999. Customizing a fisheye view algorithm to preserve the mental map. Journal of Visual Languages and Computing 10, 3, 245--267.]]Google ScholarDigital Library
- Sugiyama, K., and Misue, K. 1991. Visualization of structural information: Automatic drawing of compound digraphs. IEEE Transactions on Systems, Man, and Cybernetics 21, 4, 876--892.]]Google ScholarCross Ref
- Sugiyama, K., and Misue, K. 1995. Graph drawing by the magnetic spring model. Journal of Visual Languages and Computing 6, 3, 217--231.]]Google ScholarCross Ref
- Van Ham, F., and Van Wijk, J. J. 2004. Interactive visualization of small world graphs. In Proc. IEEE Symposium on Information Visualization (InfoVis 2004), 199--206.]] Google ScholarDigital Library
- Van Liere, R., and De Leeuw, W. 2003. GraphSplatting: Visualizing graphs as continuous fields. IEEE Transactions on Visualization and Computer Graphics 9, 2, 206--212.]] Google ScholarDigital Library
- Wang, X., and Miyamoto, I. 1996. Generating customized layouts. In Proc. Symposium on Graph Drawing (GD 1995), Springer, LNCS 1027, 504--515.]] Google ScholarDigital Library
- Ware, C., Franck, G., Parkhi, M., and Dudley, T. 1997. Layout for visualizing large software structures in 3d. In Proc. 2nd International Conference on Visual Information Systems (VISUAL 1997), 215--223.]]Google Scholar
Index Terms
- A space of layout styles for hierarchical graph models of software systems
Recommendations
(d+1,2) -Track Layout of Bipartite Graph Subdivisions
A ( k ,2- track layout of a graph G consists of a 2- track assignment of G and an edge k -coloring of G with no monochromatic X-crossing . This paper studies the problem of ( k ,2)-track layout of bipartite graph subdivisions. Recently V.Dujmović and ...
Queue Layout of Bipartite Graph Subdivisions
For an integer d > 0, a d-queue layout of a graph consists of a total order of the vertices, and a partition of the edges into d sets of non-nested edges with respect to the vertex ordering. Recently V. Dujmović and D. R. Wood showed that for every ...
Visualizing Software Structures through Enhanced Interactive Sunburst Layout
AVI '16: Proceedings of the International Working Conference on Advanced Visual InterfacesVisualizing large software system structure in compact representations would help software architects and analysts in understanding the overall software structure accurately and efficiently. Space-filling techniques (e.g., Sunburst or Tree-map) are ...
Comments