Towards Actionable
Visualisation in Software
Development
Leonel Merino
Mohammad Ghafari
Oscar Nierstrasz
Software Composition Group
University of Bern
merino@inf.unibe.ch @leonel_merino
“SV takes advantage of human cognitive skills
to discover unstructured insights from the
visual presentations of complex and voluminous
data” [Basit’15].
“SV is broadly concerned with the challenge of
representing software systems, which are
notoriously intangible, in graphical terms that
provide insight to a developer” [Scarle’15].
Software Visualisation
2
“SV takes advantage of human cognitive skills
to discover unstructured insights from the
visual presentations of complex and voluminous
data” [Basit’15].
“SV is broadly concerned with the challenge of
representing software systems, which are
notoriously intangible, in graphical terms that
provide insight to a developer” [Scarle’15].
Software Visualisation
3
“SV takes advantage of human cognitive skills
to discover unstructured insights from the
visual presentations of complex and voluminous
data” [Basit’15].
“SV is broadly concerned with the challenge of
representing software systems, which are
notoriously intangible, in graphical terms that
provide insight to a developer” [Scarle’15].
Software Visualisation
4
“SV takes advantage of human cognitive skills
to discover unstructured insights from the
visual presentations of complex and voluminous
data” [Basit’15].
“SV is broadly concerned with the challenge of
representing software systems, which are
notoriously intangible, in graphical terms that
provide insight to a developer” [Scarle’15].
Software Visualisation
5
“SV takes advantage of human cognitive skills
to discover unstructured insights from the
visual presentations of complex and voluminous
data” [Basit’15].
“SV is broadly concerned with the challenge of
representing software systems, which are
notoriously intangible, in graphical terms that
provide insight to a developer” [Scarle’15].
Software Visualisation
6
“SV takes advantage of human cognitive skills
to discover unstructured insights from the
visual presentations of complex and voluminous
data” [Basit’15].
“SV is broadly concerned with the challenge of
representing software systems, which are
notoriously intangible, in graphical terms that
provide insight to a developer” [Scarle’15].
Software Visualisation
7
Many Success Stories
8
SourceVis [Anslow’13]
[Maletic’13]
MosaicCode
[Adam’10]FlyBy
[de Pauw’10]Zinsigh
RQ1. What are the characteristics of visualisation
techniques that support developers needs?
9
RQ2. How well are various problem domains
supported by visualisation?
10
31	
46	 46	
32	
21	
34	
19	
14	
12	
18	
0	
5	
10	
15	
20	
25	
30	
35	
40	
45	
50	
Design	study	 Technique	 Systems	 Model	 Formalism	
#	studies	
VISSOFT	(176)	 SOFTVIS	(97)	
11
31	
46	 46	
32	
21	
34	
19	
14	
12	
18	
0	
5	
10	
15	
20	
25	
30	
35	
40	
45	
50	
Design	study	 Technique	 Systems	 Model	 Formalism	
#	studies	
VISSOFT	(176)	 SOFTVIS	(97)	
12
20	 20	 20	
23	
41	
28	
33	
13	
34	
14	
32	
25	
31	
7	
2	
8	
1	
5	
2	
4	
1	
10	
4	
7	
4	
10	
0	
5	
10	
15	
20	
25	
30	
35	
40	
45	
SOFTVIS		'03	
VISSOFT		'03	
SOFTVIS		'05	
VISSOFT		'05	
SOFTVIS		'06	
VISSOFT		'07	
SOFTVIS		'08	
VISSOFT		'09	
SOFTVIS		'10	
VISSOFT		'11	
VISSOFT		'13	
VISSOFT		'14	
VISSOFT		'15	
#	studies	
Total	 Included	 Poly.	(Total)	 Poly.	(Included)	
13
scg.unibe.ch/research/visualisation-review
Selected
Selected
Selectedde Pauw, W.de Pauw, W.de Pauw, W.
14
scg.unibe.ch/research/visualisation-review
Selected
Maletic, J.I.Maletic, J.I.Maletic, J.I.
15
scg.unibe.ch/research/visualisation-review
Selected
Selected
Sahraoui, H.Sahraoui, H.Sahraoui, H.
16
scg.unibe.ch/research/visualisation-review
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Lanza, M.
Beck, F.
Lanza, M.
Beck, F.
Lanza, M.
Beck, F.
Lanza, M.
Beck, F.
Lanza, M.
Beck, F.
17
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
SelectedSelected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Lanza, M.
Beck, F.
Reiss, S.P.
Telea, A.
an Author
a Paper
a Selected Paper
Authorship
Height number of pages
Publication Year in SOFTVIS
Publication Year in VISSOFT
Lanza, M.
Beck, F.
Noble, J.
Jones, J.A.
Reiss, S.P.
Telea, A.
Parnin, C.
Sahraoui, H.
Lanza, M.
de Pauw, W.
Fittkau, F.
Maletic, J.I.
Beck, F.
Noble, J.
Jones, J.A.
Reiss, S.P.
Telea, A.
Parnin, C.
Sahraoui, H.
Lanza, M.
de Pauw, W.
Fittkau, F.
Maletic, J.I.
Beck, F.
Noble, J.
Jones, J.A.
Reiss, S.P.
Telea, A.
Parnin, C.
Sahraoui, H.
Lanza, M.
Bohnet, J.
de Pauw, W.
Fittkau, F.
Maletic, J.I.
Beck, F.
Noble, J.
Jones, J.A.
Reiss, S.P.
Telea, A.
scg.unibe.ch/research/visualisation-review 18
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
SelectedSelected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Selected
Lanza, M.
Beck, F.
Reiss, S.P.
Telea, A.
an Author
a Paper
a Selected Paper
Authorship
Height number of pages
Publication Year in SOFTVIS
Publication Year in VISSOFT
Lanza, M.
Beck, F.
Noble, J.
Jones, J.A.
Reiss, S.P.
Telea, A.
Parnin, C.
Sahraoui, H.
Lanza, M.
de Pauw, W.
Fittkau, F.
Maletic, J.I.
Beck, F.
Noble, J.
Jones, J.A.
Reiss, S.P.
Telea, A.
Parnin, C.
Sahraoui, H.
Lanza, M.
de Pauw, W.
Fittkau, F.
Maletic, J.I.
Beck, F.
Noble, J.
Jones, J.A.
Reiss, S.P.
Telea, A.
Parnin, C.
Sahraoui, H.
Lanza, M.
Bohnet, J.
de Pauw, W.
Fittkau, F.
Maletic, J.I.
Beck, F.
Noble, J.
Jones, J.A.
Reiss, S.P.
Telea, A.
scg.unibe.ch/research/visualisation-review 19
Extracted Data
e.g., lviz
e.g., maintenance
e.g., wall display
e.g., dense pixel
e.g., QA Engineer
e.g., source code
20
Extracted Data
21
e.g., how are clones distributed in
system structure?
e.g., refactoring
23
0	
2	
4	
6	
8	
10	
12	
SOFTVIS'03	
SOFTVIS'05	
SOFTVIS'06	
SOFTVIS'08	
SOFTVIS'10	
VISSOFT'03	
VISSOFT'05	
VISSOFT'07	
VISSOFT'09	
VISSOFT'11	
VISSOFT'13	
VISSOFT'14	
VISSOFT'15	
Debugging	 Programming	 Reverse	Engineering	
Maintenance	 SoFware	Process	Management	 TesHng
75%
25%
Goal
e.g., “to get a better insight into the
control flow inside a program”
Question
e.g., “what is the software doing when performance issues arise?”
24
25
0	 5	 10	 15	 20	 25	
Running	System		
Source	Code		
Version	Control	System		
Documenta:on		
Changes		
Spreadsheets		
26
0	 2	 4	 6	 8	 10	 12	 14	
Java	
C	
C++	
C#	
Smalltalk	
VB	
Pascal	
0	 5	 10	 15	 20	 25	
Running	System		
Source	Code		
Version	Control	System		
Documenta:on		
Changes		
Spreadsheets		
27
IconicStacked
Geometrically-Transformed Dense Pixel
28
29
80% Not
identified
30
80% Not identified
10% Standard
31
80% Not identified
4% Wall display
10% Standard
32
80% Not identified
10% Standard
4% Wall display
2% Projection screens
2% Multi-touch tables
2% Immersive 3D environment
33
D3
OpenCloud
MT4j
JFreeChart
OpenGL
GLUT
Globsym
wxWidgets
Extractor
D3
OpenCloud
C++
VR Juggler
Roassal
Eclipse Visualization Toolkit (Zest) wxWindows
MT4j
FTGL
FreeType
Viewer
abego TreeLayout
JFreeChart
36
NetBeans Visual Library.Java 8
Java
Control FX
Java3D
Java FX
C++
Graphisto ToolkitOpenJDK 1.6.0 18 (64bit)
TreeMap Java Library
GraphStream
Java 6
abego TreeLayout
yFiles library
Qt
un
Swing
37
OpenGL
NetBeans Visual Library.
GLUT
Java 8
Stencil visualization environment
Prefuse toolkit
Java
Globsym
Control FX
wxWidgets
Extractor
Java3D
D3
OpenCloud
Java FX
C++
VR Juggler
G4P
dot
Roassal
Eclipse Visualization Toolkit (Zest)
Graphisto ToolkitOpenJDK 1.6.0 18 (64bit)
wxWindows
TreeMap Java Library
GraphStream
Java 6
MT4j
GraphViz
Palantir
FTGL
FreeType
Viewer
abego TreeLayout
Trevis
yFiles library
Qt
jMonkeyEngine
JFreeChart
CCJun
Swing
38
-15	 -10	 -5	 0	 5	 10	 15	 20	 25	
Ra)onale	
Intent	and	implementa)on	
Debugging	
Refactoring	
Implica)ons	
History	
Implemen)ng	
Tes)ng	
Contracts	
Control	flow	
Type	rela)onships	
Data	flow	
Performance	
Policies	
Loca)on	
Teammates	
Architecture	
Building	and	branching	
Concurrency	
Method	proper)es	
Dependencies	
visualisa)on	proposed	
developer	needs
Call-to-Action
40
Future Work
Software
Visualization
Future Work
Software
Visualization
Summary
merino@inf.unibe.ch @leonel_merinoscg.unibe.ch/research/visualisation-review

Actionable Software Visualization (best paper award) VISSOFT 2016