Software visualization
From Wikipedia, the free encyclopedia
Software visualization (Diehl, 2002; Knight, 2002) is concerned with the static or animated 2-D or 3-D (Marcus et al., 2003) visual representation of information about software systems based on their structure (Staples & Bieman, 1999), size (Lanza, 2004), history (Lopez et al., 2004; Van Rysselberghe et al., 2004), or behavior (Stasko et al., 1997). Typically, the information used for visualization is software metric data from measurement activities. Visualization is inherently not a method for software quality assurance but can be used to manually discover anomalies similar to the process of visual data mining (Keim, 2002; Soukup, 2002). The objectives of software visualizations are to support the understanding of software systems (i.e., its structure) and algorithms (e.g., by animating the behavior of sorting algorithms) as well as the analysis of software systems and their anomalies (e.g., by showing classes with height coupling).
Contents |
[edit] Types of software visualization
[edit] Visualization of a single component
Tool for software visualization might be used to visualize source code and quality defects during software development and maintenance activities. Their target is the automatic discovery and visualization of quality defects in object-oriented software systems and services. Designed as a plugin for an IDE (e.g., eclipse) they visualized the direct relationship of a class and its methods with other classes in the software system and mark potential quality defects to warn the developer. A further benefit is the support for visual navigation through the software system.
[edit] Visualization of whole (sub-)systems
Other more powerful tools are used to visualize a whole system or subsystem in order to visualize the architecture or to apply visual data mining or visual analytics techniques for defect discovery. Such tools are, for example:
- CodeCrawler
- Lattix LDM
- SeeSoft
- Sotograph
- Structure101
[edit] References
- Diehl, S. (2002). Software Visualization. International Seminar. Revised Papers (LNCS Vol. 2269), Dagstuhl Castle, Germany, 20-25 May 2001 (Dagstuhl Seminar Proceedings).
- Keim, D. A. (2002). Information visualization and visual data mining. IEEE Transactions on Visualization and Computer Graphics, USA * vol 8 (Jan. March 2002), no 1, p 1 8, 67 refs.
- Knight, C. (2002). System and Software Visualization. In Handbook of software engineering & knowledge engineering. Vol. 2, Emerging technologies (Vol. 2): World Scientific Publishing Company.
- Lanza, M. (2004). CodeCrawler - polymetric views in action. Proceedings. 19th International Conference on Automated Software Engineering, Linz, Austria, 20 24 Sept. 2004 * Los Alamitos, CA, USA: IEEE Comput. Soc, 2004, p 394 5.
- Lopez, F. L., Robles, G., & Gonzalez, B. J. M. (2004). Applying social network analysis to the information in CVS repositories. "International Workshop on Mining Software Repositories (MSR 2004)" W17S Workshop 26th International Conference on Software Engineering, Edinburgh, Scotland, UK, 25 May 2004 * Stevenage, UK: IEE, 2004, p 101 5.
- Marcus, A., Feng, L., & Maletic, J. I. (2003). 3D representations for software visualization. Paper presented at the Proceedings of the 2003 ACM symposium on Software visualization, San Diego, California.
- Soukup, T. (2002). Visual data mining : techniques and tools for data visualization and mining. New York: Chichester.
- Staples, M. L., & Bieman, J. M. (1999). 3-D Visualization of Software Structure. In Advances in Computers (Vol. 49, pp. 96-143): Academic Press, London.
- Stasko, J. T., Brown, M. H., & Price, B. A. (1997). Software Visualization: MIT Press.
- Van Rysselberghe, F. (2004). Studying Software Evolution Information By Visualizing the Change History. Proceedings. 20th International Conference On Software Maintenance. pp 328-337, IEEE Computer Society Press, 2004
[edit] External links
[edit] Tools
- CodeCrawler ("CodeCrawler - A Lightweight Software Visualization Tool")
- Lattix LDM ("Software Visualization using Dependency Structure Matrix")
- SeeSoft ("Visualizing Software Changes")
- Sotograph ("Eclipse Auf Dem Prüfstand: Eine Fallstudie Zur Statischen Programmanalyse" (in German))
- Structure101 ("Software Visualization for Understanding And Analyzing the Complexity of Your Software Architecture")
[edit] Research Groups
- Software Visualization at GVU
- Software Visualization Group at the Helsinki University of Technology
- Software Visualization at Victoria University of Wellington
[edit] Conferences and Workshops
- SoftVis is the second meeting in a planned series of biennial conferences.
- The Program Visualization Workshops aim to bring together researchers who design and construct program, algorithm, or data structure visualizations or animations as well as educators who use or evaluate visualization or animations in their teaching.