ABSTRACT
Documentation has long played a key role in aiding program understanding. Graphical forms of documentation rely on software visualization techniques to make complicated information easier to understand. However, it is an open question exactly which types of graphical documentation are most suitable for which types of program understanding tasks (and in which specific usage contexts). This paper describes preliminary work towards a task-oriented classification of program visualization techniques. The classification is currently descriptive in nature, and divides the visualization techniques into three classes (static, interactive, and editable) based on the level of end-user interaction with the generated graphical documentation. The primary advantage of a task-oriented classification is that it will ultimately map common activities related to program understanding to specific types of software visualization. A summary of how the descriptive classification was used to structure the selection of software visualization tools to support program understanding in an industrial context is provided.
- AbsInt GmbH. "aiSee - Graph Visualization." Online at www.absint.com/aisee.Google Scholar
- AT&T Research. "The Dot Graph Visualization Program." Online at www.graphviz.org.Google Scholar
- b-novative GmbH. "daVinci Presenter." Online at www.b-novative.com/products/daVinci/daVinci.html.Google Scholar
- Bonetto, T.; Lantrip, D.; Torzewski, S.; and Ramsdale, C. "Emerging Tools for Information Visualization." IT Professional 2(6):14-20, November 2000. Google ScholarDigital Library
- Buchsbaum, A.; Chen, Y.-F.; Huang, H.; Koutsofios, E.; Mocenigo, J.; Rogers, A.; Jankowsky, M.; and Mancoridis, S. "Visualizing and Analyzing Software Infrastructures." IEEE Software 18(5):62--70, September/October 2001. Google ScholarDigital Library
- Chikofsky, E.; and Cross, J. "Reverse Engineering and Design Recovery: A Taxonomy." IEEE Software 7(1):13-17, January 1990. Google ScholarDigital Library
- Georgia Institute of Technology. Online at www.cc.gatech.edu/gvu/softviz.Google Scholar
- Hartmann, J.; Huang, S.; and Tilley, S. "Documenting Software Systems with Views II: An Integrated Approach Based on XML." Proceedings of the 19th Annual International Conference on Systems Documentation (SIGDOC 2001: Santa Fe, NM; October 21-24, 2001), pp. 237--246. ACM Press: New York, NY, 2001. Google ScholarDigital Library
- Herman, I.; Melançon, G.; and Marshall, S. "Graph Visualization and Navigation in Information Visualization: A Survey." IEEE Transactions on Visualization and Computer Graphics, 6(1):24--43, 2000. Google ScholarDigital Library
- Knight, C.; Munro, M. "Comprehension with{in} Virtual Environment Visualizations". Proceedings of the 7th International Workshop on Program Comprehension (IWPC 1999: May 5-7, 1999; Pittsburgh, PA, USA), pp. 4--11. Los Alamitos, CA: IEEE Computer Society Press, 1999. Google ScholarDigital Library
- Koschke, R. "Software Visualization: Does Anyone Care?" Survey available online at www.bauhaus-stuttgart.de. 2001.Google Scholar
- Microsoft Corp. "Visio: The Office Business Diagramming Solution." Online at www.microsoft.com/office/visio.Google Scholar
- Shatner, W. (with Reeves-Stevens, J. and Reeves-Stevens, G). Dark Victory. New York, NY: Pocket Books, 1999.Google Scholar
- Storey, M.-A.; Fracchia, F.; and Müller, H. "Cognitive Design Elements to Support the Construction of a Mental Model during Software Visualization." Proceedings of the 5th International Workshop on Program Comprehension (IWPC 1997: May 28-30, 1997; Dearborn, MI), 17--28. Los Alamitos, CA: IEEE CS Press, 1997. Google ScholarDigital Library
- Storey, M.-A.; Wong, K.; Fracchia, F.; and Müller, H. "On Integrating Visualization Techniques for Effective Software Exploration." Proceedings of IEEE Symposium on Information Visualization (InfoVis'97: October 20-21, 1997; Phoenix, AZ), pp. 38--45. Los Alamitos, CA: IEEE CS Press, 1997. Google ScholarDigital Library
- Tilley, S. A Reverse-Engineering Environment Framework (CMU/SEI-98-TR-005). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 1998.Google Scholar
- Tilley, S.; Huang, S. "On Selecting Software Visualization Tools for Program Understanding in an Industrial Context". Proceedings of the 10th International Workshop on Program Comprehension (IWPC 2002: June 26-29, 2002; Paris, France), pp. 285--288. Los Alamitos, CA: IEEE Computer Society Press, 2002. Google ScholarDigital Library
- Tilley, S.; Müller, H.; and Orgun, M. "Documenting Software Systems with Views." Proceedings of the 10th Annual International Conference on Systems Documentation (SIGDOC '92: Ottawa, ON; October 13-16, 1992), pp. 211--219. ACM Press: New York, NY, 1992. Google ScholarDigital Library
- Tom Sawyer Software, Inc. "Graph Layout Toolkit." Online at www.tomsawyer.com/glt.Google Scholar
- W3C. "Scalable Vector Graphics (SVG)". Online at www.w3.org/Graphics/SVG.Google Scholar
- Wiki Webs. Online at www.wiki.org.Google Scholar
Index Terms
- Documenting software systems with views III: towards a task-oriented classification of program visualization techniques
Recommendations
Manipulating and documenting software structures using SHriMP views
ICSM '95: Proceedings of the International Conference on Software MaintenanceAn effective approach to program understanding involves browsing, exploring, and creating views that document software structures at different levels of abstraction. While exploring the myriad of relationships in a multi-million line legacy system, one ...
Documenting software systems with views VI: lessons learned from 15 years of research & practice
SIGDOC '09: Proceedings of the 27th ACM international conference on Design of communicationA "view" is a form of graphical documentation representing some aspect of a software system. Views can be an important aid in helping to understand large-scale applications, and can be automatically produced through reverse engineering. This paper ...
Workshop on graphical documentation for programmers
SIGDOC '02: Proceedings of the 20th annual international conference on Computer documentationProgrammers often use graphical forms of documentation that rely on software visualization techniques to make complicated information easier to understand. However, it is an open question exactly which types of graphical documentation are most suitable ...
Comments