Software Visualization Today - Systematic Literature Review
1. Software Visualization Today
Results of literature review
Anna-Liisa Mattila, Petri Ihantola, Terhi Kilamo, Antti Luoto, Mikko Nurminen, Heli Väätäjä
3. Research questions
• What is the focus of software visualization (SV) research?
– Why software is visualized?
– What are the visualization methods used in SV?
– What are the data sources used in SV?
• What is the maturity of SV research field?
Anna-Liisa Mattila, Petri Ihantola, Terhi Kilamo, Antti Luoto, Mikko Nurminen, Heli Väätäjä
4. Research process
Defining
research goals
Selecting
sources of
literature
Screening of
literature
Conducting
searches
Defining
classification
scheme
Testing data
extraction form
Qalitative
analysis
Quantitative
analysis
Synthesis
Testing search
terms
Data extraction
Anna-Liisa Mattila, Petri Ihantola, Terhi Kilamo, Antti Luoto, Mikko Nurminen, Heli Väätäjä
9. Seesoft, line based code visualization
http://www.cs.umd.edu/class/spring2001/cmsc838b/Project/Parija_Spacco/old_viewtips.html
Anna-Liisa Mattila, Petri Ihantola, Terhi Kilamo, Antti Luoto, Mikko Nurminen, Heli Väätäjä
12. Code Ownership Distribution Map
http://www.softviscollection.org/vis/code-ownership-distribution-map/
Anna-Liisa Mattila, Petri Ihantola, Terhi Kilamo, Antti Luoto, Mikko Nurminen, Heli Väätäjä
14. Why software is visualized?
• To understand software structure
• To understand software behavior
• To understand software evolution
• For optimizing different aspects of software
• For project management purposes
• To understand how developers work
• For requirements management
Anna-Liisa Mattila, Petri Ihantola, Terhi Kilamo, Antti Luoto, Mikko Nurminen, Heli Väätäjä
15. Visualization methods used in SV
Visualization types
• Trees and graphs
• Geometric projection techniques
• Text based visualizations
• Timelines
• Info graphics
Visualization attributes
• Color
• Spatial position
• Size
• Shape
• Animation
Anna-Liisa Mattila, Petri Ihantola, Terhi Kilamo, Antti Luoto, Mikko Nurminen, Heli Väätäjä
16. Data in SV
Data sources
• Source code
• Software execution data
• Change data (e.g. from version
control system)
• Static code analysis data
• Software usage data
• Software related documents and
models
• Data from testing of software
Data attributes
• Hierarchies and dependencies
• Time and duration
• Object oriented metrics
• Version and change related
attributes
• Execution traces
• Text
• Similarity
• Etc.
Anna-Liisa Mattila, Petri Ihantola, Terhi Kilamo, Antti Luoto, Mikko Nurminen, Heli Väätäjä
17. Studied aspects Structure Execution Evolution Management Development Requirements Optimization Rendering Other
Amount of studies 37 25 15 6 3 3 3 3 2
Data sources x studied aspects Structure Execution Evolution Management Development RE Optimization Rendering Other Total
Source code 33 6 11 5 0 1 0 2 0 46
Software execution data 7 22 1 0 0 0 2 1 1 28
Change / version data 5 1 10 3 2 0 1 0 1 17
Static code analysis data 8 5 2 1 0 0 2 0 0 15
Usage data 1 2 2 0 1 0 0 0 0 5
Documents and models 2 0 0 0 0 3 0 0 1 5
Test data 1 2 1 1 0 0 0 0 0 4
Other 2 1 1 0 0 0 0 0 0 4
Not relevant / Not stated clearly 4 0 3 2 1 0 0 2 0 9
Visualization formats x studied aspects Structure Execution Evolution Management Development Requirements Optimization Rendering Other Total
Hierarchical and Graph-Based Techniques 31 17 11 3 2 2 1 3 2 61
Geometric projection techniques 12 12 5 2 0 0 2 1 0 26
Timelines 1 9 5 3 3 0 1 0 0 18
Info graphics 7 6 4 3 1 0 1 0 0 17
Icon-based techniques 6 3 4 0 0 0 1 0 0 12
Text based visualizations 5 1 2 0 0 0 0 0 0 7
Tag- and word-clouds 2 0 3 1 0 0 0 1 0 5
Pixel-oriented techniques 1 3 0 0 0 0 0 0 0 4
Other 3 4 4 3 0 1 1 0 0 11
Not stated clearly in the article 1 0 0 0 0 0 0 0 0 1
Multiple views used x studied aspects Structure Execution Evolution Management Development RE Optimization Rendering Other Total
Used 16 14 12 5 2 0 2 0 0 43
Not used 21 11 3 1 1 3 1 3 3 40
Anna-Liisa Mattila, Petri Ihantola, Terhi Kilamo, Antti Luoto, Mikko Nurminen, Heli Väätäjä
18. Maturity of SV research
Anna-Liisa Mattila, Petri Ihantola, Terhi Kilamo, Antti Luoto, Mikko Nurminen, Heli Väätäjä