Content deleted Content added
→Cite journal, book, harvnb | Alter: isbn. Add: isbn, series, volume, chapter-url. Removed or converted URL. Some additions/deletions were actually parameter name changes. | You can use this tool yourself. Report bugs here. | via #UCB_Gadget |
added Template:Visualization; See also' sections are only for internal links to other Wikipedia articles, never for external links: MOS:SEEALSO; removed red links |
||
Line 1:
{{confused|Visualization (graphics)}}
'''Software visualization'''<ref>{{cite book |first=Johannes |last=Bohnet |first2=Jürgen |last2=Döllner |chapter=Analyzing Feature Implementation by Visual Exploration of Architecturally-Embedded Call-Graphs |title=4th International Workshop on Dynamic Analysis |publisher=ACM Press |___location= |year=2006 |pages=41–48 |doi=10.1145/1138912.1138922 |isbn=1595934006 }}</ref><ref>{{harvnb|Diehl|2002}}; {{harvnb|Diehl|2007}}; {{harvnb|Knight|2002}}</ref> or '''software visualisation''' refers to the visualization of information of and related to software systems—either the [[software architecture|architecture]] of its [[source code]] or metrics of their [[Run time (program lifecycle phase)|runtime behavior]]
== Software system information ==
Line 13:
The objectives of software visualization are to support the [[program comprehension|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 (computer science)|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.<ref>{{cite book |first=J. |last=Bohnet |first2=S. |last2=Voigt |first3=J. |last3=Döllner |chapter=Projecting code changes onto execution traces to support localization of recently introduced bugs |title=Proceedings of the 2009 ACM symposium on Applied Computing |date=2009 |pages=438–442 |isbn=9781605581668 |doi=10.1145/1529282.1529378 }}</ref>
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 [[Data mining|visual data mining]].<ref>({{harvnb|Keim|2002}}; {{harvnb|Soukup|Davidson|2002}}; {{harvnb|Burch|Diehl|Weißgerber|2005}})</ref> For example, software visualization is used to monitoring activities such as for code quality or team activity.<ref>{{cite book |first=J. |last=Bohnet |first2=J. |last2=Döllner |chapter=Monitoring Code Quality and Development Activity by Software Maps |doi=10.1145/1985362.1985365 |title=Proceedings of the IEEE ACM ICSE Workshop on Managing Technical Debt |publisher=Association for Computing Machinery |year=2011 |isbn=9781450305860 |pages=9–16 |chapter-url=}}</ref> Visualization is not inherently a method for [[software quality assurance]].{{fact|date=September 2017}}
==Types==
Tools for software visualization might be used to visualize source code and [[software bug|quality defect]]s during software development and maintenance activities. There are different approaches to map source code to a visual representation such as by [[software map]]s<ref>{{cite book |first=D. |last=Limberger |first2=B. |last2=Wasty |first3=J. |last3=Trümper |first4=J. |last4=Döllner |chapter=Interactive software maps for web-based source code analysis |title=Proceedings of the 18th International Conference on 3D Web Technology |date=2013 |pages=91–98 |isbn=9781450321334 |doi=10.1145/2466533.2466550 }}</ref> 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
==See also==
Line 25:
* [[NDepend]]
* [[Sotoarc]]
;;Related concepts:
Line 65 ⟶ 61:
* [http://vissoft.iro.umontreal.ca VISSOFT] 2nd IEEE Working Conference on Software Visualization
* [http://code.google.com/p/epdv/ EPDV] Eclipse Project Dependencies Viewer
{{Visualization}}
[[Category:Software engineering]]
|