Software Visualization via Hierarchic Micro/Macro Layouts

Martin Nöllenburg, Ignaz Rutter, Alfred Schuhmacher

Abstract

We propose a system for visualizing the structure of software in a single drawing. In contrast to previous work we consider both the dependencies between different entities of the software and the hierarchy imposed by the nesting of classes and packages. To achieve this, we generalize the concept of micro/macro layouts introduced by Brandes and Baur (Baur and Brandes, 2008) to graphs that have more than two hierarchy levels. All entities of the software (e.g., attributes, methods, classes, packages) are represented as disk-shaped regions of the plane. The hierarchy is expressed by containment, all other relations, e.g., inheritance, functions calls and data access, are expressed by directed edges. As in the micro/macro layouts of Brandes and Baur, edges that “traverse” the hierarchy are routed together in channels to enhance the clarity of the layout. The resulting drawings provide an overview of the coarse structure of the software as well as detailed information about individual components.

References

  1. Abuthawabeh, A., Beck, F., Zeckzer, D., and Diehl, S. (2013). Finding structures in multi-type code couplings with node-link and matrix visualizations. In Software Visualization (VISSOFT'13), pages 1-10.
  2. Bourqui, R., Auber, D., and Mary, P. (2007). How to draw clustered weighted graphs using a multilevel force-directed graph drawing algorithm. In Proc. 11th Int'l Conference on Information Visualization (IV'07), pages 757-764. IEEE.
  3. Caserta, P., Zendra, O., and Bodénès, D. (2011). 3d hierarchical edge bundles to visualize relations in a software city metaphor. In Visualizing Software for Understanding and Analysis (VISSOFT'11), pages 1-8. IEEE.
  4. 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 Proceedings ACM 2003 Symposium on Software Visualization, San Diego, California, USA, June 11-13, 2003, pages 77- 86, 212-213.
  5. Daniel, D. T., Wuchner, E., Sokolov, K., Stal, M., and Liggesmeyer, P. (2014). Polyptychon: A hierarchicallyconstrained classified dependencies visualization. In Software Visualization (VISSOFT'14), pages 83-86.
  6. Didimo, W. and Montecchiani, F. (2012). Fast layout computation of hierarchically clustered networks: Algorithmic advances and experimental analysis. In Proc. 16th Int'l Conf. Information Visualization (IV'12), pages 18-23. IEEE.
  7. Diehl, S. (2007). Software visualization: Visualizing the Structure, Behaviour, and Evolution of Software. Springer.
  8. Diehl, S. and Telea, A. C. (2014). Multivariate networks in software engineering. In Kerren, A., Purchase, H. C., and Ward, M. O., editors, Multivariate Network Visualization, volume 8380 of LNCS, chapter 2, pages 13-36. Springer International Publishing.
  9. Dogrusoz, U., Giral, E., Cetintas, A., Civril, A., and Demir, E. (2009). A layout algorithm for undirected compound graphs. Information Sciences, 179(7):980-994.
  10. Frishman, Y. and Tal, A. (2004). Dynamic drawing of clustered graphs. In Information Visualization (INFOVIS'04), pages 191-198. IEEE.
  11. Fruchterman, T. M. J. and Reingold, E. M. (1991). Graph drawing by force-directed placement. Software: Practice and Experience, 21(11):1129-1164.
  12. Holten, D. (2006). Hierarchical edge bundles: Visualization of adjacency relations in hierarchical data. IEEE Transactions on Visualization and Computer Graphics, 12(5):741-748.
  13. Muelder, C. and Ma, K.-L. (2008). A treemap based method for rapid layout of large graphs. In Proc. IEEE Pacific Visualization Symposium (PacificVis'08), pages 231- 238.
  14. Palepu, V. K. and Jones, J. A. (2013). Visualizing constituent behaviors within executions. In 2013 First IEEE Working Conference on Software Visualization (VISSOFT), Eindhoven, The Netherlands, September 27-28, 2013, pages 1-4.
  15. Patrignani, M. (2013). Handbook of Graph Drawing and Visualization, chapter Planarity Testing and Embedding, pages 1-42. Discrete Mathematics and its Applications. CRC Press.
  16. Rufiange, S., McGuffin, M. J., and Fuhrman, C. P. (2012). Treematrix: A hybrid visualization of compound graphs. Computer Graphics Forum, 31(1):89-101.
  17. Rufiange, S. and Melançon, G. (2014). Animatrix: A matrixbased visualization of software evolution. In Software Visualization (VISSOFT'14), pages 137-146.
  18. Schuhmacher, A. (2015). Software visualization via hierarchic graphs. Master's thesis, Karlsruhe Institute of Technology (KIT).
  19. Seriai, A., Benomar, O., Cerat, B., and Sahraoui, H. (2014). Validation of software visualization tools: A systematic mapping study. In Software Visualization (VISSOFT'14), pages 60-69.
  20. Sugiyama, K. and Misue, K. (1991). Visualization of structural information: Automatic drawing of compound digraphs. IEEE Trans. Syst. Man Cybern., 21(4):876- 892.
  21. van Ham, F. (2003). Using multilevel call matrices in large software projects. In Information Visualization (INFOVIS'03), pages 227-232.
  22. Vehlow, C., Beck, F., and Weiskopf, D. (2015). The state of the art in visualizing group structures in graphs. In Borgo, R., Ganovelli, F., and Viola, I., editors, Eurographics Conference on Visualization (EuroVis'15), STARs.
  23. Wettel, R. and Lanza, M. (2007). Visualizing software systems as cities. In Proceedings of the 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis, VISSOFT 2007, 25-26 June 2007, Banff, Alberta, Canada, pages 92-99.
Download


Paper Citation


in Harvard Style

Nöllenburg M., Rutter I. and Schuhmacher A. (2016). Software Visualization via Hierarchic Micro/Macro Layouts . In Proceedings of the 11th Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications - Volume 2: IVAPP, (VISIGRAPP 2016) ISBN 978-989-758-175-5, pages 153-160. DOI: 10.5220/0005785901530160


in Bibtex Style

@conference{ivapp16,
author={Martin Nöllenburg and Ignaz Rutter and Alfred Schuhmacher},
title={Software Visualization via Hierarchic Micro/Macro Layouts},
booktitle={Proceedings of the 11th Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications - Volume 2: IVAPP, (VISIGRAPP 2016)},
year={2016},
pages={153-160},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005785901530160},
isbn={978-989-758-175-5},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 11th Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications - Volume 2: IVAPP, (VISIGRAPP 2016)
TI - Software Visualization via Hierarchic Micro/Macro Layouts
SN - 978-989-758-175-5
AU - Nöllenburg M.
AU - Rutter I.
AU - Schuhmacher A.
PY - 2016
SP - 153
EP - 160
DO - 10.5220/0005785901530160