Visualization Techniques for Program Comprehension - A Literature Review

Understanding software is getting more complex as programs are getting ever bigger. Many believe that the key to this problem is better visualization. The objective of this document is to provide an as thorough as possible overview of this field. This is the starting point for further research and development in this critical area. Over 140 papers and nearly as many tools were reviewed for this purpose. This document presents the most relevant and significant ones. It also tries to identify the essential requirements of a software visualization component.

[1]  Maureen C. Stone,et al.  The movable filter as a user interface tool , 1994, CHI '94.

[2]  Ronald M. Baecker,et al.  Program auralization: sound enhancements to the programming environment , 1992 .

[3]  Pat Hanrahan,et al.  Interactive visualization of large graphs and networks , 2000 .

[4]  Calum A. M. Grant Software visualization in Prolog , 1999 .

[5]  Thomas Baudel,et al.  Visual Data Mining with ILOG Discovery , 2003, Graph Drawing.

[6]  Andreas Ludwig,et al.  A Fast Adaptive Layout Algorithm for Undirected Graphs , 1994, GD.

[7]  Blaine A. Price,et al.  A Principled Taxonomy of Software Visualization , 1993, J. Vis. Lang. Comput..

[8]  Emden R. Gansner,et al.  An open graph visualization system and its applications to software engineering , 2000 .

[9]  Jock D. Mackinlay,et al.  The perspective wall: detail and context smoothly integrated , 1991, CHI.

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

[11]  Ben Shneiderman,et al.  Tree-maps: a space-filling approach to the visualization of hierarchical information structures , 1991, Proceeding Visualization '91.

[12]  Jock D. Mackinlay,et al.  Cone Trees: animated 3D visualizations of hierarchical information , 1991, CHI.

[13]  Henry Lieberman,et al.  Watch what I do: programming by demonstration , 1993 .

[14]  J. Stasko,et al.  Focus+context display and navigation techniques for enhancing radial, space-filling hierarchy visualizations , 2000, IEEE Symposium on Information Visualization 2000. INFOVIS 2000. Proceedings.

[15]  Brad A. Myers,et al.  Taxonomies of visual programming and program visualization , 1990, J. Vis. Lang. Comput..

[16]  Ioannis G. Tollis,et al.  Algorithms for Drawing Graphs: an Annotated Bibliography , 1988, Comput. Geom..

[17]  Malcolm Munro,et al.  Comprehension with[in] virtual environment visualisations , 1999, Proceedings Seventh International Workshop on Program Comprehension.

[18]  Chris DiGiano,et al.  LogoMedia: a sound-enhanced programming environment for monitoring program behavior , 1993, CHI '93.

[19]  Jeremiah Scholl,et al.  Extending Tree-Maps to Three Dimensions: A Comparative Study , 2004, APCHI.

[20]  Ramana Rao,et al.  The table lens: merging graphical and symbolic representations in an interactive focus + context visualization for tabular information , 1994, CHI '94.

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

[22]  Anne Rogers,et al.  Visualizing and Analyzing Software Infrastructures , 2001, IEEE Softw..

[23]  Ephraim P. Glinert,et al.  Visual Programming Environments: Paradigms and Systems , 1990 .

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

[25]  Aulikki Hyrskykari,et al.  Development of Program Visualization Systems , 1999 .

[26]  John Domingue,et al.  Software visualization : programming as a multimedia experience , 1998 .

[27]  Ephraim P. Glinert Visual Programming Environments: Applications and Issues , 1990 .

[28]  Andrian Marcus,et al.  3D representations for software visualization , 2003, SoftVis '03.

[29]  John T. Stasko,et al.  The information mural: a technique for displaying and navigating large information spaces , 1995, Proceedings of Visualization 1995 Conference.

[30]  Nan C. Shu,et al.  Visual Programming: Perspectives and Approaches , 1989, IBM Syst. J..

[31]  B. Shneiderman,et al.  Flowchart techniques for structured programming , 1973, SIGP.

[32]  Dieter Jungnickel,et al.  Graphs, Networks and Algorithms (Algorithms and Computation in Mathematics) , 2004 .

[33]  R. Tamassia,et al.  Planar orthogonal drawings of graphs , 1990, IEEE International Symposium on Circuits and Systems.

[34]  Peter Young A New View of Call Graphs for Visualising Code Structures , 2002 .

[35]  Gruia-Catalin Roman,et al.  Program visualization: the art of mapping programs to pictures , 1992, International Conference on Software Engineering.

[36]  Rudolf K. Keller,et al.  A Qualitative and Quantitative Evaluation of Software Visualization Tools , 2001 .

[37]  John Stasko,et al.  Using Animation to Design, Document and Trace Object-Oriented Systems , 1992 .

[38]  Shihong Huang,et al.  Documenting software systems with views III: towards a task-oriented classification of program visualization techniques , 2002, SIGDOC '02.

[39]  Ivan Herman,et al.  Graph Visualization and Navigation in Information Visualization: A Survey , 2000, IEEE Trans. Vis. Comput. Graph..