Software visualization

Not to be confused with Visualization (graphics).

Software visualization[1][2] or software visualisation refers to the visualization of information of and related to software systems—either the architecture of its source code or metrics of their runtime behavior—and their development process by means of static, interactive or animated 2-D or 3-D[3] visual representations of their structure,[4] execution,[5] behavior,[6] and evolution.

## Software system information

[edit]

Software visualization uses a variety of information available about software systems. Key information categories include:

* implementation artifacts such as source codes,
* software metric data from measurements or from reverse engineering,
* traces that record execution behavior,
* software testing data (e.g., test coverage)
* software repository data that tracks changes.

## Objectives

[edit]

The objectives of software visualization 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 and exploration of software systems and their anomalies (e.g., by showing classes with high coupling) and their development and evolution. One of the strengths of software visualization is to combine and relate information of software systems that are not inherently linked, for example by projecting code changes onto software execution traces.[7]

Software visualization can be used as tool and technique to explore and analyze software system information, e.g., to discover anomalies similar to the process of visual data mining.[8] For example, software visualization is used to monitoring activities such as for code quality or team activity.[9] Visualization is not inherently a method for software quality assurance.[citation needed] Software visualization participates to Software Intelligence in allowing to discover and take advantage of mastering inner components of software systems.

## Types

[edit]

Tools for software visualization might be used to visualize source code and quality defects during software development and maintenance activities. There are different approaches to map source code to a visual representation such as by software maps[10] Their objective includes, for example, the automatic discovery and visualization of quality defects in object-oriented software systems and services. Commonly, they visualize the direct relationship of a class and its methods with other classes in the software system and mark potential quality defects. A further benefit is the support for visual navigation through the software system.

More or less specialized graph drawing software is used for software visualization. A small-scale 2003 survey of researchers active in the reverse engineering and software maintenance fields found that a wide variety of visualization tools were used, including general purpose graph drawing packages like GraphViz and GraphEd, UML tools like Rational Rose and Borland Together, and more specialized tools like Visualization of Compiler Graphs (VCG) and Rigi.[11]: 99–100 The range of UML tools that can act as a visualizer by reverse engineering source is by no means short; a 2007 book noted that besides the two aforementioned tools, ESS-Model, BlueJ, and Fujaba also have this capability, and that Fujaba can also identify design patterns.[12]

## See also

[edit]

* Imagix 4D
* NDepend
* Sourcetrail
* Application discovery and understanding
* Software maintenance
* Software maps
* Software diagnosis
* Cognitive dimensions of notations
* Software archaeology

## References

[edit]

1. ^ Bohnet, Johannes; Döllner, Jürgen (2006). "Analyzing Feature Implementation by Visual Exploration of Architecturally-Embedded Call-Graphs". 4th International Workshop on Dynamic Analysis. ACM Press. pp. 41–48\. doi:10.1145/1138912.1138922. ISBN 1595934006. S2CID 17556465.
2. ^ Diehl 2002; Diehl 2007; Knight 2002
3. ^ (Marcus, Feng & Maletic 2003; Wettel & Lanza 2007)
4. ^ Staples & Bieman 1999
5. ^ Trümper, J.; Döllner, J.; Telea, A. (2013). "Multiscale Visual Comparison of Execution Traces". Proceedings of the International Conference on Program Comprehension (PDF). IEEE Computer Society. pp. 53–62\. doi:10.1109/ICPC.2013.6613833. ISBN 978-1-4673-3092-3. S2CID 206839054.
6. ^ (Kuhn & Greevy 2006, Stasko et al. 1998)
7. ^ Bohnet, J.; Voigt, S.; Döllner, J. (2009). "Projecting code changes onto execution traces to support localization of recently introduced bugs". Proceedings of the 2009 ACM symposium on Applied Computing. pp. 438–442\. doi:10.1145/1529282.1529378. ISBN 9781605581668. S2CID 8349297.
8. ^ (Keim 2002; Soukup & Davidson 2002; Burch, Diehl & Weißgerber 2005)
9. ^ Bohnet, J.; Döllner, J. (2011). "Monitoring Code Quality and Development Activity by Software Maps". Proceedings of the IEEE ACM ICSE Workshop on Managing Technical Debt. Association for Computing Machinery. pp. 9–16\. doi:10.1145/1985362.1985365. ISBN 9781450305860. S2CID 17258620.
10. ^ Limberger, D.; Wasty, B.; Trümper, J.; Döllner, J. (2013). "Interactive software maps for web-based source code analysis". Proceedings of the 18th International Conference on 3D Web Technology. pp. 91–98\. doi:10.1145/2466533.2466550. ISBN 9781450321334. S2CID 3040005.
11. ^ Koschke, Rainer (2003). "Software visualization in software maintenance, reverse engineering, and re-engineering: a research survey". Journal of Software Maintenance and Evolution: Research and Practice. 15 (2): 87–109\. doi:10.1002/smr.270.
12. ^ Diehl 2007, p. 63

## Further reading

[edit]

* Roels, R.; Meştereagă, P.; Signer, B. (2016). "An Interactive Source Code Visualisation Plug-in for the MindXpres Presentation Platform". Computer Supported Education. Communications in Computer and Information Science. Vol. 583\. Springer. pp. 169–188\. doi:10.1007/978-3-319-29585-5_10. ISBN 978-3-319-29584-8.
* Burch, M.; Diehl, S.; Weißgerber, P. (2005). "Visual data mining in software archives". Proceedings of the 2005 ACM symposium on Software visualization (SoftVis '05). pp. 37–46\. doi:10.1145/1056018.1056024. ISBN 1595930736. S2CID 1577375.
* Diehl, S. (2002). Software Visualization. International Seminar Dagstuhl Castle, Germany, May 20–25, 2001 Revised Papers. Lecture Notes in Computer Science. Vol. 2269\. Springer. doi:10.1007/3-540-45875-1. ISBN 978-3-540-43323-1. S2CID 21007575.
* Diehl, S. (2007). Software Visualization — Visualizing the Structure, Behaviour, and Evolution of Software. Springer. ISBN 978-3-540-46504-1.
* Eades, P.; Zhang, K. (1996). Software Visualisation. Series on Software Engineering and Knowledge Engineering. Vol. 7\. World Scientific. ISBN 981-02-2826-0.
* Gîrba, T.; Kuhn, A.; Seeberger, M.; Ducasse, S. (2005). "How Developers Drive Software Evolution" (PDF). Proceedings of International Workshop on Principles of Software Evolution (IWPSE 2005). IEEE Computer Society Press. pp. 113–122\. doi:10.1109/IWPSE.2005.21. ISBN 0-7695-2349-8. S2CID 9260583.
* Keim, D.A. (January–March 2002). "Information visualization and visual data mining". IEEE Transactions on Visualization and Computer Graphics. 8 (1): 1–8\. doi:10.1109/2945.981847.
* Knight, C. (2002). "System and Software Visualization". In Chang Shi-kuo (ed.). Emerging Technologies. Handbook Of Software Engineering And Knowledge Engineering. Vol. 2\. World Scientific. pp. 131–148\. ISBN 978-981-4491-78-5.
* Kuhn, A.; Greevy, O. (2006). "Exploiting the Analogy Between Traces and Signal Processing" (PDF). Proceedings IEEE International Conference on Software Maintenance (ICSM 2006). IEEE Computer Society Press. pp. 394–5\. doi:10.1109/ASE.2004.1342773. ISBN 0-7695-2131-2.
* Lanza, M. (2004). "CodeCrawler — polymetric views in action". Proceedings. 19th International Conference on Automated Software Engineering, Linz, Austria, 20 24 Sept. 2004. pp. 394–5\. doi:10.1109/ASE.2004.1342773. ISBN 0-7695-2131-2.
* 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. IET. pp. 101–5\. doi:10.1049/ic:20040485 (inactive 7 December 2024). ISBN 0-86341-432-X.`{{cite book}}`: CS1 maint: DOI inactive as of December 2024 (link)
* Marcus, A.; Feng, L.; Maletic, J.I. (2003). "3D representations for software visualization". Proceedings of the 2003 ACM symposium on Software visualization. pp. 27–ff. doi:10.1145/774833.774837. ISBN 1581136420. S2CID 10263993.
* Soukup, Tom; Davidson, Ian (2002). Visual Data Mining: Techniques and Tools for Data Visualization and Mining. Wiley. ISBN 978-0-471-27138-3.
* Staples, M.L.; Bieman, J.M. (1999). "3-D Visualization of Software Structure". Advances in Computers. 49: 96–143\. CiteSeerX 10.1.1.13.3090. doi:10.1016/S0065-2458(08)60284-3. ISBN 9780120121496.
* Stasko, John; Brown, Marc H.; Domingue, John B.; Price, Blaine A. (1998). Software Visualization: Programming as a Multimedia Experience. MIT Press. ISBN 978-0-262-19395-5.
* Van Rysselberghe, F.; Demeyer, S. (2004). "Studying Software Evolution Information By Visualizing the Change History". Proceedings. 20th International Conference On Software Maintenance. IEEE Computer Society Press. pp. 328–337\. doi:10.1109/ICSM.2004.1357818. ISBN 0-7695-2213-0. S2CID 16571788.
* Wettel, R.; Lanza, M. (2007). "Visualizing Software Systems as Cities". Proceedings of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software For Understanding and Analysis). IEEE Computer Society Press. pp. 92–99\. doi:10.1109/VISSOF.2007.4290706. ISBN 978-1-4244-0599-2. S2CID 9974947.
* Zhang, K. (2003). Software Visualization — From Theory to Practice. Kluwer. ISBN 1-4020-7448-4.

## External links

[edit]

* SoftVis the ACM Symposium on Software Visualization
* VISSOFT 2nd IEEE Working Conference on Software Visualization
* EPDV Eclipse Project Dependencies Viewer

* v
* t
* e

Visualization of technical information

Fields|

* Biological data visualization
* Chemical imaging
* Crime mapping
* Data visualization
* Educational visualization
* Flow visualization
* Geovisualization
* Information visualization
* Mathematical visualization
* Medical imaging
* Molecular graphics
* Product visualization
* Scientific visualization
* Social visualization
* Software visualization
* Technical drawing
* User interface design
* Visual analytics
* Visual culture
* Volume visualization

Image
types|

* Chart
* Diagram
* Engineering drawing
* Graph of a function
* Ideogram
* Map
* Photograph
* Pictogram
* Plot
* Sankey diagram
* Schematic
* Skeletal formula
* Statistical graphics
* Table
* Technical drawings
* Technical illustration

People|

| Pre-19th century|

* Edmond Halley
* Charles-René de Fourcroy
* Joseph Priestley
* Gaspard Monge

|

19th century|

* Charles Dupin
* Adolphe Quetelet
* André-Michel Guerry
* William Playfair
* August Kekulé
* Charles Joseph Minard
* Francis Amasa Walker
* John Venn
* Oliver Byrne
* Matthew Sankey
* Charles Booth
* John Snow
* Florence Nightingale
* Karl Wilhelm Pohlke
* Toussaint Loua
* Francis Galton

Early 20th century|

* Edward Walter Maunder
* Otto Neurath
* W. E. B. Du Bois
* Henry Gantt
* Arthur Lyon Bowley
* Howard G. Funkhouser
* John B. Peddle
* Ejnar Hertzsprung
* Henry Norris Russell
* Max O. Lorenz
* Fritz Kahn
* Harry Beck
* Erwin Raisz

Mid 20th century|

* Jacques Bertin
* Rudolf Modley
* Arthur H. Robinson
* John Tukey
* Mary Eleanor Spear
* Edgar Anderson
* Howard T. Fisher

Late 20th century|

* Borden Dent
* Nigel Holmes
* William S. Cleveland
* George G. Robertson
* Bruce H. McCormick
* Catherine Plaisant
* Stuart Card
* Pat Hanrahan
* Edward Tufte
* Ben Shneiderman
* Michael Friendly
* Howard Wainer
* Clifford A. Pickover
* Lawrence J. Rosenblum
* Thomas A. DeFanti
* George Furnas
* Sheelagh Carpendale
* Cynthia Brewer
* Jock D. Mackinlay
* Alan MacEachren
* David Goodsell
* Kwan-Liu Ma
* Michael Maltz
* Leland Wilkinson
* Alfred Inselberg

Early 21st century|

* Ben Fry
* Jeffrey Heer
* Jessica Hullman
* Daniel A. Keim
* Gordon Kindlmann
* Aaron Koblin
* Christopher R. Johnson
* Manuel Lima
* David McCandless
* Mauro Martino
* John Maeda
* Miriah Meyer
* Tamara Munzner
* Ade Olufeko
* Hanspeter Pfister
* Hans Rosling
* Claudio Silva
* Moritz Stefaner
* Fernanda Viégas
* Martin Wattenberg
* Bang Wong
* Hadley Wickham

Related
topics|

* Cartography
* Chartjunk
* Color coding
* Computer graphics
* in computer science
* CPK coloring
* Graph drawing
* Graphic design
* Graphic organizer
* Imaging science
* Information art
* Information graphics
* Information science
* Misleading graph
* Neuroimaging
* Patent drawing
* Scientific modelling
* Spatial analysis
* Visual perception
* Volume cartography
* Volume rendering

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template