Software visualization: Difference between revisions

Content deleted Content added
No edit summary
No edit summary
Line 1:
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), or behavior (Stasko et al., 1997). Typically, the information used for [[visualization]] is [[software metric|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 [[program_understanding|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]]).
= Types of software visualization =
 
== Visualization of a single component ==
== References ==
Tool for software visualization might be used to visualize source code and [[quality defect]]s 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 defect]]s to warn the developer. A further benefit is the support for visual navigation through the software system.
 
[[Image:CodeSonar_ShowsDefect.png]]
 
== 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:
* Sotograph
* CodeCrawler
* SeeSoft
 
== 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.
Line 12 ⟶ 24:
* 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.
 
= Links =
 
== Tools ==
* Sotograph (see [http://www.c1-wps.de/contell/cms/c1web/c1wps/library/downloads/pdfs/s_tomography/bischofberger_OS_05_03.pdf.pdf "Eclipse Auf Dem Prüfstand: Eine Fallstudie Zur Statischen Programmanalyse" (in German)])
* CodeCrawler (see [http://www.cs.uvic.ca/~mstorey/vissoft2003/submissions/MLanzaCCDescription.pdf "CodeCrawler - A Lightweight Software Visualization Tool"])
* SeeSoft (see [http://www.niss.org/technicalreports/tr113.pdf "Visualizing Software Changes"])
 
== Research Groups ==
* [http://www.cc.gatech.edu/gvu/softviz/ Software Visualization at GVU]
* [http://www.cs.hut.fi/Research/SVG/ Software Visualization Group] at the Helsinki University of Technlogy
*
 
== ExternalConferences Linksand Workshops ==
* [http://www.softvis.org SoftVis] is the second meeting in a planned series of biennial conferences.