Perspectives on Software Visualization
-
Upload
foerderverein-technische-fakultaet -
Category
Technology
-
view
704 -
download
0
description
Transcript of Perspectives on Software Visualization
Perspectives on Software Visualization
Fabian BeckVISUS, University of Stuttgart
@beck_fabian
no natural representation beyond source code
visualization makes software explorable
Software
2
…
Example: Software Feathers
find a characteristic, recognizable representation of a class
3
JHotDraw 7.6Java GUI framework
578 classes and interfaces
Software Feathers [IVAPP 14]
Perspectives on Software
an autobiographic view of software visualization
4
developer
manager
researcher
user
architect
A Bird's-Eye Perspective5
A View from Top
6
manager
researcher
architectcomplete system
Software as Graphs and Hierarchies
7
A
B C
couplings
modularization
A B C
b
a
time
A B C
a
Dynamic Graphs
2.0
2.1
3.0
3.2
3.4
3.5
3.6
3.7
3.8
3.8
.1
3.8
.2
4.0
4.1
4.2
4.3
.1
4.4
4.5
4.6
4.7
4.8
4.8
.1
Parallel Edge Splatting [TVCG 11, VL/HCC 12, IVAPP 12]
8
software evolution
dynamic call graphs
The State of the Art in Visualizing Dynamic Graphs [EuroVis 14]
http://dynamicgraphs.fbeck.com
Comparison of Concepts of Couplings
Visually Exploring Multi-Dimensional Code Couplings [VISSOFT 11] 9
Couplings and Modularizations
Visual Comparison of Software Architectures[SoftVis 10, Information Visualization 13] 10
BA C
A
B
C
type I
type I & II
type II
A
B C
node-link
matrix
Characteristics of the Perspective
11
goal: high-level insights
means: overview and abstraction
challenge: visual scalability
application: limited reach and application
A Frog‘s-Eye Perspective
12
Worm
A Change of Perspective13
developer
…
part of the system
user
In Situ Software Visualization
visualize information in-place, when and where needed
14
developers’ reality: source code
“A sparkline is a small intense, simple, word-sized graphic with typographic resolution.”
Edward Tufte, 2006
[Google image search for “sparklines”]
Monitoring of Numeric Variables
15
0
15min value
max value
variable value
# read accesses
logical time
write access read access
Visual Monitoring of Numeric Variables Embedded in Source Code [VISSOFT 13]
Runtime Consumption
16
In Situ Understanding of Performance Bottlenecks through Visually Augmented Code [ICPC 13]
0.53%a(){method time calleescallers
self time threadscolor: thread type
I3 Feature Location
17Rethinking User Interfaces for Feature Location [submitted]
searchsimilarity
change history of the method
daysweeksmonthsyears
I
RegViz [ICSE NIER 14]
\(([^)]*?(\w*))\)|\[([^\]]*?(\w*))\]
http://regviz.org
RegViz
Characteristics of the Perspective19
goal: developer experience
means: selection and details
challenge: seamless integration
application: wide reach and application
Perspective – What‘s next?
20
Interplay of Perspectives
21
dynamic perspectives
collaboration communication
From Analyzing to Editing
22
Get Your Directories Right: From Hierarchy Visualization to Hierarchy Manipulation [VL/HCC 14]
comparison of directory hierarchies/software modularizations
anal
yze
edit
Context Switch
perspectives on software visualization
end-user vs. expert visualization
visualization as a part of something bigger
23
Conclusions
24
Perspectives on Software Visualization
25
Bird‘s-Eye Perspective high-level insights overview and abstraction visual scalability limited reach
Frog‘s-Eye Perspective developer experience selection and details seamless integration wide reach
Perspective interplay of perspectives from analyzing to editing context switch
Fabian Beck @beck_fabian
References Beck, Fabian: Software Feathers: Figurative Visualization of Software Metrics. In: IVAPP '14: Proceedings of the 5th
International Conference on Information Visualization Theory and Application, S. 5-16, 2014.
Burch, Michael; Vehlow, Corinna; Beck, Fabian; Diehl, Stephan; Weiskopf, Daniel: Parallel Edge Splatting for Scalable Dynamic Graph Visualization. In: IEEE Transactions on Visualization and Computer Graphics: Nr. 12 (2011), S. 2344-2353.
Burch, Michael; Beck, Fabian; Weiskopf, Daniel: Radial Edge Splatting for Visualizing Dynamic Directed Graphs. In: IVAPP '12: Proceedings of the International Conference on Information Visualization Theory and Applications, S. 603-612, 2012.
Beck, Fabian; Burch, Michael; Vehlow, Corinna; Diehl, Stephan; Weiskopf, Daniel: Rapid Serial Visual Presentation in Dynamic Graph Visualization. In: IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2012), S. 185-192, 2012.
Beck, Fabian; Burch, Michael; Diehl, Stephan; Weiskopf, Daniel: The State of the Art in Visualizing Dynamic Graphs. In: EuroVis - STARs, S. 83-103, 2014.
Beck, Fabian; Petkov, Radoslav; Diehl, Stephan: Visually Exploring Multi-Dimensional Code Couplings. In: VISSOFT '11: Proceedings of the 6th IEEE International Workshop on Visualizing Software for Understanding and Analysis, S. 1-8, 2011.
Beck, Fabian; Diehl, Stephan: Visual Comparison of Software Architectures. In: SoftVis '10: Proceedings of the ACM 2010 Symposium on Software Visualization, S. 183-192, 2010.
Beck, Fabian; Diehl, Stephan: Visual Comparison of Software Architectures. In: Information Visualization: Nr. 2 (2013), S. 178-199.
Beck, Fabian; Hollerich, Fabrice; Diehl, Stephan; Weiskopf, Daniel: Visual Monitoring of Numeric Variables Embedded in Source Code. In: VISSOFT '13: Proceedings of the first IEEE Working Conference on Software Visualization (2013), S. 1-4.
Beck, Fabian; Moseler, Oliver; Diehl, Stephan; Rey, Günter D.: In Situ Understanding of Performance Bottlenecks through Visually Augmented Code. In: ICPC '13: Proceedings of the 21st International Conference on Program Comprehension, S. 63-72, 2013.
Beck, Fabian; Gulan, Stefan; Biegel, Benjamin; Baltes, Sebastian; Weiskopf, Daniel: RegViz: Visual Debugging of Regular Expressions. In: ICSE Companion '14: Companion Proceedings of the 36th International Conference on Software Engineering, S. 504-507, 2014.
Lutz, Rainer; Rausch, Daniel; Beck, Fabian; Diehl, Stephan: Get Your Directories Right: From Hierarchy Visualization toHierarchy Manipulation. To appear in VL/HCC 14
26