Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  



























Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1Software system information
 




2Objectives
 




3Types
 




4See also
 




5References
 




6Further reading
 




7External links
 













Software visualization






العربية
Deutsch
 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 


















From Wikipedia, the free encyclopedia
 


Software visualization[1][2]orsoftware 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:

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]

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.
  • ^ Diehl 2002; Diehl 2007; Knight 2002
  • ^ (Marcus, Feng & Maletic 2003; Wettel & Lanza 2007)
  • ^ Staples & Bieman 1999
  • ^ 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.
  • ^ (Kuhn & Greevy 2006, Stasko et al. 1998)
  • ^ 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.
  • ^ (Keim 2002; Soukup & Davidson 2002; Burch, Diehl & Weißgerber 2005)
  • ^ 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.
  • ^ 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.
  • ^ 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.
  • ^ Diehl 2007, p. 63
  • Further reading[edit]

    External links[edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=Software_visualization&oldid=1195020875"

    Categories: 
    Infographics
    Software maintenance
    Software metrics
    Software development
    Software quality
    Source code
    Software
    Visualization software
    Hidden categories: 
    All articles with unsourced statements
    Articles with unsourced statements from September 2017
     



    This page was last edited on 11 January 2024, at 23:08 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki