Conference PaperPDF Available

Advanced Visual Metaphors and Techniques for Software Maps

Authors:

Abstract and Figures

Software maps provide a general-purpose interactive user interface and information display for software analytics tools. This paper systematically introduces and classifies software maps as a treemap-based technique for software cartography. It provides an overview of advanced visual metaphors and techniques, each suitable for interactive visual analytics tasks, that can be used to enhance the expressiveness of software maps. Thereto, the metaphors and techniques are briefly described, located within a visualization pipeline model, and considered within the software map design space. Consequent applications and use cases w.r.t. different types of software system data and software engineering data are discussed, arguing for a versatile use of software maps in visual software analytics.
Content may be subject to copyright.
Advanced Visual Metaphors and Techniques for Soware Maps
Daniel Limberger
Hasso Plattner Institute, Faculty of Digital Engineering,
University of Potsdam, Germany
daniel.limberger@hpi.de
Willy Scheibel
Hasso Plattner Institute, Faculty of Digital Engineering,
University of Potsdam, Germany
willy.scheibel@hpi.de
Jürgen Döllner
Hasso Plattner Institute, Faculty of Digital Engineering,
University of Potsdam, Germany
juergen.doellner@hpi.de
Matthias Trapp
Hasso Plattner Institute, Faculty of Digital Engineering,
University of Potsdam, Germany
matthias.trapp@hpi.de
(a) (b) (c) (d) (e) () (g) (h)
(i) ( j) (k) (l) (m) (n) (o) (p)
Figure 1: A compilation of advanced software maps: (a) mixed use of rectangular and voronoi layout, (b) mixed-projection to
combine 2D and 2.5D depictions, (c) structure-enhancing cushion shading, (d) visual aggregation for a higher-level view on the
data, (e) a reference surface for improved height comparison and visual ltering, (f) in-situ comparison for dierent points
in time, (g) using the re metaphor to augment interpretability, (h) small multiples to compare multiple points in time and
map themes, (i) dierent contour types to convey information on aggregated data, (j) using growing and shrinking to derive
subsequent layouts, (k) color weaving to encode variation in underlying data, (l) subdivision on leaf nodes, (m) transparency
as visual variable, (n) highlighting of nodes using glow, (o) rustiness, shininess, and (p) sketchiness as visual variable.
ABSTRACT
Software maps provide a general-purpose interactive user interface
and information display for software analytics tools. This paper
systematically introduces and classies software maps as a treemap-
based technique for software cartography. It provides an overview
of advanced visual metaphors and techniques, each suitable for
interactive visual analytics tasks, that can be used to enhance the
expressiveness of software maps. Thereto, the metaphors and tech-
niques are briey described, located within a visualization pipeline
model, and considered within the software map design space. Con-
sequent applications and use cases w.r.t. dierent types of software
system data and software engineering data are discussed, arguing
for a versatile use of software maps in visual software analytics.
Author’s Version / Preprint
VINCI’2019, September 20–22, 2019, Shanghai, China
2019. ACM ISBN 978-1-4503-7626-6/19/09.. .$15.00
https://doi.org/10.1145/3356422.3356444
CCS CONCEPTS
Human-centered computing Treemaps
;Information visu-
alization;Visualization design and evaluation methods.
KEYWORDS
treemap, design space, information visualization
ACM Reference Format:
Daniel Limberger, Willy Scheibel, Jürgen Döllner, and Matthias Trapp. 2019.
Advanced Visual Metaphors and Techniques for Software Maps. In The
12th International Symposium on Visual Information Communication and
Interaction (VINCI’2019), September 20–22, 2019, Shanghai, China. ACM, New
York, NY, USA, 8 pages. https://doi.org/10.1145/3356422.3356444
1 INTRODUCTION
Treemaps are a well established information visualization technique
that implements the information seeking mantra [
54
] and is used
in dierent domains [
55
]. They allow for a depiction of non-spatial,
multi-variate data and provide the convenience and expressiveness
of thematic maps, i.e., given a spatialization strategy (layouting),
they support a combination of two or more visual variables for infor-
mation display, such as color, size, or texture [
10
]. The 2D depiction
is often extended into the third dimension, resulting in so called
2.5D treemaps, allowing for additional information display [
62
].
VINCI’2019, September 20–22, 2019, Shanghai, China Limberger, Scheibel, Döllner, and Trapp
Knowledge
Focus
Data Image
Visualization
Object
Config
User
Visualization Pipeline
Visualization
Data
Problem
Data
Exploration Perception
& Cognition
MappingFilteringAnalysis Rendering
Figure 2: Model of the visualization process [63] consisting of a visualization pipeline [17] and a feedback loop for knowledge
gathering and interactive user control. This model is applicable to visual software analytics using software maps.
2D and 2.5D treemaps alike can support visual analytics to “foster
the constructive evaluation, correction and rapid improvement of
our processes and models and – ultimately – the improvement of
our knowledge and our decisions” [30].
In the domain of software analytics, treemaps are used to depict
software system data and software engineering data [
8
,
66
], result-
ing in so called software maps. Software maps provide a unique and
general-purpose interactive user interface and information display
for software analytics tools. Typically, a catalogue of software map
themes compiles commonly used attribute selections related to spe-
cic tasks in software analytics. A software map theme, hereinafter
referred to as map theme, denes a selection of software informa-
tion dimensions that are mapped onto visual variables of a software
map. It portrays selected aspects of the software information gath-
ered and analyzed by software analytics processes. A map theme
presents, in a sense, topic-specic software map templates that sup-
port dierent stakeholders in software engineering in data-driven
decision making as well as in nding actionable insights.
To advance towards the goals of visual software analytics, i.e.,
“(1) derive insight from massive, dynamic, ambiguous, and often
conicting data, (2) detect the expected and discover the unexpected,
(3) provide timely, defensible, and understandable assessments,
[and] (4) communicate assessment eectively for action” [
30
], we
derive the following challenges for software maps:
What are best practices and variations to software maps?
How does the type of data impacts its visualization?
Can techniques be used individually or in combination?
In what ways can data be depicted beyond the basic use of
the visual variables position, area, height, and color?
To provide a basis for answering these questions, we discuss
advanced visual metaphors and techniques for software maps by ex-
ploring the visualization pipeline of software maps. A superimposed
visualization process integrates a visualization pipeline into a feed-
back loop with interactive user control of the various stages [
63
].
Such visualization pipeline is basically a sequence of three to four
data processing stages with named inputs and outputs that con-
ceptualize the transformation process of data into images. This
visualization process is well understood and there are only a few
variations of models of visualization pipelines: Using a data state
reference model the stages can be referred to as transformations,
namely, (1) data transformation, (2) visualization transformation,
and (3) view or visual mapping transformation [
9
,
13
,
14
]. An exten-
sive overview of specic transformations suitable for visualization
purposes was recently provided by Liu et al. [
43
]. A similar naming
schemes uses (1) data enrichment/enhancement, (2) visualization
mapping, and (3) rendering to describe the same process [
23
]. This
scheme was later rened to (1) data analysis, (2) ltering, (3) map-
ping, and (4) rendering [
17
]. For our purposes, we use the latter
model and refer to the rst two stages as preprocessing and ltering.
Preprocessing and ltering covers, among others, analytics, selection,
enrichment, transformation, and resampling of raw data. Mapping
maps abstract data to visual representations. Rendering creates a
visual representation using image synthesis (cf. Figure 2).
Based on this approach, we provide an overview of advanced
visual metaphors that have already been or can be used in com-
bination with software maps to approach above mentioned chal-
lenges (cf. Figure 1). For it, we briey summarize and discuss each
metaphor and technique within the context of a stage with the con-
ceptual model of the visualization pipeline and describe common
practices based on our experiences. We discuss the extent to which
each metaphor or technique can be used to communicate dierent
types of data and, furthermore, identify feasible combinations of
isolated techniques and possible interferences, spanning as well as
extending a design space of software maps.
2 DESIGN SPACE OF SOFTWARE MAPS
In software cartography, the term software maps is not uniquely
dened. Each variation (such as software cities [
66
], code cities [
67
],
cityscapes, or thematic software maps [
33
]) is focusing on their
specic intended use, i.e., visualizing abundant software system
and process data and, thereby, providing a communication artifact
for software engineering. “A single graphic can convey a great
deal of information about various aspects of a complex software
system, such as its structure, the degree of coupling and cohesion,
growth patterns, defect rates, and so on” [
33
]. In order to obtain
a more precise, low-level denition of software maps, we propose
a denition that precisely denotes them as a subset of treemaps
using existing systematization approaches.
Schulz et al. [
53
] identied the following axis for the design space
of implicit hierarchy visualizations: dimensionality (either 2D or
3D), node representation (graphics primitives), edge representation
(inclusion, overlap, and adjacency), as well as hierarchical layout
(subdivision and packing). Dübel et al. [
18
] further dierentiate
between reference space and attribute space for a more precise
classication – assuming the validity of their classication is not
aected by the non-spatial nature of treemaps.
Advanced Visual Metaphors and Techniques for Soware Maps VINCI’2019, September 20–22, 2019, Shanghai, China
Using these design spaces, the software map can be expressed
as follows. For the spatialization of nodes of a software map we
prefer subdivision or packing within a 2D reference space (
R2
).
The representation of edges is assumed to be implicit by means
of nesting/inclusion. Adjacency in 2.5D maps can also be used,
but we suggest to consider its use carefully; eventually we use at
representations of inner nodes only for all map themes in order to
allow for special representation of aggregates. Techniques that are
based on containment and overlap in 3D are only marginally useful
for medium to large data sets due to added interaction complexity
and hard-to-resolve occlusion. Fortunately, this restriction does not
exclude any of the commonly used treemap layouting algorithms
based on rectangular or Voronoi shapes [25].
For the representation of leaf nodes, 2D graphics primitives are
common, e.g., Voronoi shapes or rectangles (
A2
). They further
can be extruded, optionally tapered, and thereby exploiting the
third spatial dimension (
A3
). “Increasing the visual vocabulary
can provide for richer information resolution” [
62
] and allows for
additional information display. For these so called 2.5D software
maps, we generally prefer graphical primitives of rectangular foot-
prints over more complex ones (cf. Figure 3) – depending on (1)
the importance of stability for the respective map theme and (2)
whether or not rendering of more complex geometry is justiable
in terms of visual complexity, implementation complexity, and per-
formance. Since the reference space is still in
R2
, we support the
term 2.5D [
62
] to avoid confusion with actual 3D treemaps that
utilize a 3D layouting for positioning graphical elements in a 3D
reference space (R3).
With the attribute and reference space constrained, the typical
characteristics of
A2⊗ R2
and
A3⊗ R2
visualizations adhere to
software maps. Consequently, we dene software maps as a subset
of 2D and 2.5D treemaps with the purposeful depictions of abstract
software-system data and software engineering data, as well as
software development data (cf. Figure 4). This has one outstanding
benet: their characteristics largely match these of ubiquitously
available, interactive 2D and 2.5D (geo-spatial) maps. With this def-
inition of software maps, both visualization engineers and software
engineers can rely on and build upon well established (1) interac-
tion metaphors, (2) provisioning strategies, and (3) visualization
metaphors, thereby harnessing on the habits and experiences of
most users.
2.1 Data Characteristics
Traditionally, visualizations targeting software analytics are re-
quired to handle three major aspects of software system data: static,
dynamic, and evolving aspects [
16
]. We use a broader scope for
software maps by including software development data as well,
which basically includes all stakeholders of the software develop-
ment process. The data typically covers mined, preprocessed data
gathered from various sources:
Software implementations: Typically modularized and in dis-
tributed tree-structured components and source code units.
In addition to topology information additional metrics and
other key performance indicators (KPIs) are measured and
derived by applying static source code analysis to the pro-
grammed artifacts (e.g., source code, scripts, documentation).
Figure 3: An example of a 2.5D software map with mixed use
of rectangular and Voronoi treemap layouts.
Figure 4: An example of a semi-transparent information
overlay to superimpose additional information.
Dynamics of software executions (traces): e.g., analysis of
run-time execution in order to capture a software’s behavior.
Software development processes and evolution: e.g., analysis
of the engineering work on the system done by software
developers. This usually available in revisioning systems and
issue, bug and customer feedback tracking tools.
Even if measured exactly, the data, is (1) prone to uncertainty due
to missing semantic normalization, (2) lacks standardized metrics
and interpretations, (3) is highly language specic and, thus, highly
heterogeneous in large software system. Further, anonymization
may be required, the measurement resolution is unnecessarily high,
and nally, the data is massive for medium to large sized engineer-
ing processes (metrics per le and per commit, plus all changes
w.r.t. various issue tracking systems and continuous integration
systems). All these characteristics should be considered when speci-
fying map themes or developing visualization techniques for visual
information display using software maps. An overview of visual-
ization techniques for static aspects and their evolution, including
visualization techniques besides treemaps and software maps, is
listed in a survey by Caserta and Zendra [11].
VINCI’2019, September 20–22, 2019, Shanghai, China Limberger, Scheibel, Döllner, and Trapp
2.2 Preliminaries and Assumptions
This paper does not provide a comprehensive set of common design
guidelines for creating rectangular treemaps. Guidelines concerned
with perception [
32
] and use of color [
47
,
52
,
69
] are outside the
scope of this paper, since these are of complex nature itself and still
subject to active research. The selection of presented visualization
techniques focuses on visualization metaphors and techniques that
cope with the data characteristics within the domain of software en-
gineering, i.e., volume and complexity of the data. Thus, we selected
visualization techniques that were used for software data and where
an implementation can handle datasets up to hundreds of thousands
of data items. Contrarily, this paper does not cover city or city-like
metaphors [
3
,
31
] that map abstract data to features of virtual 3D
city models such as building facades, car or pedestrian trac, or
street furniture. Regarding frameworks and implementations of
software maps, we refer to state-of-the-art approaches based on
hardware acceleration and highly dynamic mappings [
48
,
60
]. Sim-
ilarly, the deployment and provisioning of data and visualization is
highly contextual and application-specic [
38
,
42
]. Fortunately, a
simplifying view on the application scenarios allows to derive com-
mon characteristics and shared approaches for visualization [49].
3 PREPROCESSING AND FILTERING
During preprocessing and ltering, the incoming data – also known
as problem or task data – is transformed and prepared for visualiza-
tion. This includes operations such as resampling, normalization,
ltering of outlier, accumulating weighted leaf-node data to inner
nodes, and more. From a framework design perspective, we tend to
leave any input data unmodied and let any transformation result
in additional tree-structures and data views.
Attribute Resolution. While creating software maps in practice,
we encountered several challenges. For example, the data is usually
available in much higher resolution than required for visualization.
In those cases, we suggest to reduce the data to a resolution that
is reasonable for the map theme, e.g., attributes mapped to area,
color, or height do not require a
32 bit
oating-point resolution.
Often, reducing the attribute resolution to a few bits can increase
readability by means of discriminability and emphasize results
of preceeding data analysis. This can also be supported from a
perceptual point of view: height with perspective foreshortening
is hardly comparable on a per-pixel basis and the exact size of a
module within a treemap should be of subordinate relevance. Thus,
often a transformation to a categorical data type as irrelevant, low,
medium, and high (for color, height, or change) or lower-outlier,
below average, average, above average, and upper-outlier (for area)
seem to be comparably or even more eective.
Streaming and Level-of-Detail. The major challenge, however,
is that industry software projects tend to be massive (in terms
of number of modules, code units, metrics, or activities). This is
often ignored or only marginally covered in research but has sig-
nicant impact on visualization design. Software maps might be
streamed on demand (node by node, slice by slice, etc. ). Loading
millions of attribute values for nodes that should not even be de-
picted (e.g., as they are out of scope or of sub-pixel size) can decrease
responsiveness and result in visual clutter or memory shortages.
Figure 5: Stepwise generalization of a software map by use
of aggregation, ranging from no aggregation (left) to strong
aggregation (right). Outlier nodes – also called landmarks –
are preserved [37].
It is benecial to have a highly customizable, interactive level-of-
detail [
19
,
37
] (ltering and rendering) that allows for dynamic
detail (cf. Figure 5), e.g., detecting source code duplicates, generated
code, automated activities, and lter irrelevant areas such as third
party code. Furthermore, the software map should always support
the concept of mental maps, i.e., the overall landscape/spatial layout
should not change due to a dynamic level-of-detail. A particular
technique to combine aggregated and detailed views in combination
with reduced occlusion is the lifted map [12].
4 MAPPING
The mapping stage transforms pre-processed and ltered data (e.g.,
attribute values) into depictable and reversibly encoded graphical
primitives and scenes. This is a fundamental step for ecient encod-
ing of input data and should address human capacities and abilities
to decode a depiction [
65
]. There is not necessarily an explicit rep-
resentation of the resulting visualization object in memory. The
result may only be volatile during visualization, especially from an
implementation point-of-view: the distinction between mapping
and rendering sustains more on a conceptual level [48, 60]).
Software maps usually use inner nodes to depict applications,
modules, or even source code units, i.e., source code les [
8
]. The
leave nodes depict either modules, source code units, functions,
events, developers, or activity (by means of commits). The position
of each node is computed by a layout technique specied by the map
theme, and a metric is usually mapped to the size of the graphical
primitive, e.g., lines-of-code, le size, or size of domain logic.
Use of Height. We utilize height of cuboids by means of an ex-
trusion of the 2D shape [
6
,
15
] as secondary visual variable. The
idea is to provide the following order with declining importance
for the task: (1) color, (2) height, (3) other visual variables. For 2.5D
software maps, pyramid-like shapes can be used to further encode
an attribute or just reduce occlusion [
62
]. When depicting evolving
data with accustomed map themes, height seems to allow for an
intuitive encoding of data changes by means of growing/increasing
vs. shrinking/decreasing. Height should not be used, however, to
depict negative or diverging scales directly, as this would result in
Advanced Visual Metaphors and Techniques for Soware Maps VINCI’2019, September 20–22, 2019, Shanghai, China
Figure 6: A set of in-situ templates to depict changes in underlying data for up to three attributes using up to three visual
variables [41]. Left group contains templates for color-only changes. Middle group contains templates for color and height
changes. Right group presents templates for changes in all area, height, and color.
downwards facing cuboids. Even though this was suggested several
times, we prefer to rene the map theme to transform or map rele-
vant value ranges of attributes to make a salient but expected use of
visual variables (cuboids are high if data is of interest). In contrast
thereto, if a negative value range is relevant, it is mapped inversely
to height. If positive values are relevant as well, the absolute value
could be mapped to height and the sign to color, shape, or texture.
Finally, the orientation of the leaf node’s geometry [
34
] and the type
– by means of poly cylinders [
45
] and three-dimensional glyphs [
7
]
are further suitable as visual variables.
Evolutionary Data. One of the biggest challenges for treemaps
– and thus, software maps – is the handling of topology changes,
i.e., addition, move, and removal of nodes, in a predictable and
comprehensible manner. If the time range of interest is in the past,
a multi-revision hierarchy can be computed [
61
]. The quality of this
hierarchy heavily depends on the computations capabilities to track
nodes over multiple revisions (renames, copies, clones, splits, moves,
deletions, etc. ). If the software map is used to visualize ongoing
processes and continuously evolving data, an initial layout can be
incrementally evolved based on the topology changes, resulting in
nodes growing, shrinking, appearing, and disappearing [51].
Juxtaposing and Complex Shapes. For visual display of multiple
states or sub-elements, data vases, stacked cuboids, or fragmenting
can be used. In remembrance of stacked bar charts, the extruded
polytopes can be subdivided in height, allowing for depiction of
subcategories and their share on the overall height [
21
,
29
]. This
process can further be utilized, e.g., to encode evolution by means
of evolution segments [
58
] and data vases [
59
]. Small multiples can
be used for “the comparison of multiple software map themes and
revisions simultaneously on a single screen” [
50
]. We found this
especially useful for generation of an overview on as well as explo-
ration and identication of map theme variations.
Depicting Relations. For an emphasis of the topology w.r.t. to
the nested structure of nodes, cushion shading [
64
], variations of
margins or padding, as well extruded, stacked inner nodes [
6
] can
be applied. If additional relations of nodes in addition to their tree-
structured topology are of interest (e.g., functional dependencies or
often-coinciding changes during the development process), edges
or edge bundles can be superimposed to software maps [
27
,
57
].
This approach, however, is visually constrained by the number of
depicted relations and data set size. Superimposing relations by
means of edges or tubes on top of 2.5D treemaps introduces addi-
tional clutter, occlusion, and visual complexity that is not inherent
to the treemap metaphor.
5 RENDERING
In this stage, the visualization object is transformed into images
using (real-time) image synthesis. Although the mapping stage is
usually aware of the available visual variables and metaphors, it
usually only provides appropriate attribute values, descriptions of
graphic primitives, and additional data for rendering. As a result
of the rendering stage, the mapped attributes should be visually
encoded in the resulting image by use of visual variables, some of
which are mapped by means of geometry, e.g., position or extent.
Depicting Change. Many software map themes are designed to
facilitate understanding of the evolution of the underlying data
sets. This eventually requires for visual comparison of (1) multiple
visual variables for (2) multiple points in time over (3) large time
ranges. Therefore, Tu and Shen [
61
] introduced contrast treemaps.
Their approach could be applied within visual software analytics by
encoding two dierent states of the attribute mapped to area and
color. It was conceptually extended by in-situ templates [
41
], which
allow for visual encoding of former and latter states on a per-cuboid
basis for rectangular software maps (cf. Figure 6). Specically, basic
and more complex templates were introduced in order to depict
changes in more than one visual variable simultaneously, including
area, color, and height. Although not discussed in the paper, the
templates allow for comparison of additional per-node visual vari-
ables as well. The visual quality and expressiveness also depends
on the available rendering techniques, e.g., procedural texturing
and transparency are accounted for by several templates.
In practice, most of the comparison templates would result in
a complex mapping and should be used for complex tasks or ex-
pert systems only. For example, the depiction of area changes in
combinations with others are challenging to perceive. However,
they allow for a convenient encoding of changes in height that are
usually mapped from secondary information such as number of
authors, or size of domain logic. Another use is to depict changes
in color for primary information, i.e., the most prominent indicator
for the main purpose of the map theme, such as maintainability or
faultiness of a software module.
Utilizing Textures. Dierent texture patterns can be applied to en-
code categorical data [
46
]. Exemplary attributes for texture pattern
mapping are (the abstract) le type (e.g., source code, documen-
tation, deployment), associated teams, or budgets. Alternatively,
texture intensity was suggested as visual variable for scales with
a natural zero [
28
]). With most modern rendering engines sup-
porting some form of physically-based materials, textures can be
used to enable visual variables based on their metalness or rough-
ness (see natural metaphors). In the past, we predominantly used
VINCI’2019, September 20–22, 2019, Shanghai, China Limberger, Scheibel, Döllner, and Trapp
01234
Figure 7: A ve-step scale to encode “uncertainty, impreci-
sion or vagueness” [35] using sketchiness as visual variable.
The scale ranges from no uncertainty (left) to a high de-
gree of uncertainty (right) with varying degrees of a sketch-
rendering eect.
procedural textures to depict quality measures (e.g., degree of doc-
umentation, error-prone-ness), complexity measures (incoming or
outgoing dependencies, mixed use of third-party dependencies),
and development process indicators (e.g., number of authors).
Utilizing Transparency. Regarding geometric processing of inner
nodes, there are approaches that extrude the layout as well, creat-
ing platforms [
1
] or pyramid frustums [
2
], placing child nodes on
top of the platforms. Instead of stacking, there are approaches for
nested depiction as well, e.g., full spheres [5] and hemispheres [4]
in combination with transparency. Other uses of transparency [
44
]
are (1) to reduce occlusion and (2) as a visual variable to encode
dierent node states. Transparency can further be used to depict
removed or planned components, goals, irrelevant nodes as of the
current map theme, or enhance the expressiveness and quality of
(procedural) texturing. However, the most relevant obstacle for
using transparency is the complexity of its implementation: es-
pecially for web-based rendering clients, modern strategies such
as order-independent transparency cannot easily be implemented
due to limited graphics APIs and device capabilities. One solution
is to use stochastic dithering in a rendering framework based on
multi-frame sampling [36].
Depicting Uncertainty. For the visual display of uncertainty, fuzzy
drawing styles can be applied. For example, node contour width
as well as multiplexed frequency and amplitude could be param-
eterized [
22
] and used to indicate vagueness. Pencil-like outlines
and hatching of surfaces can be combined into a single visual vari-
able, i.e., sketchiness (cf. Figure 7). Although technically an appli-
cation of texture as a visual variable, mapping data to sketchiness
is especially useful to encode “uncertainty, imprecision, or vague-
ness” [
35
]. Sketchiness is designed to encode varying degrees of
uncertainty and, furthermore, can be used in addition to color. For
software maps, it can display measurement inaccuracies (incom-
plete or estimated data) or target data that is yet to get discussed or
implemented (i.e., targets for complexity, coverage, performance,
or other quality measure).
Depicting Aggregates. As previously discussed for the prepro-
cessing and ltering stages, aggregation is an essential technique
for software maps (cf. Figure 8). In the context of rendering, it
is important to adhere to aggregation guidelines [
19
]. For exam-
ple, the depiction should discern leaf nodes from aggregated ones.
In addition, small charts, diagrams, or glyphs encoding informa-
tion of the underlying data can be expressed on top or within
aggregates [
56
]. Likewise, noise or color weaving [
24
] as well as
Figure 8: An example of software map aggregation and in-
ternal labeling [37]. The resulting space from aggregating
nodes is used to embed labels into the software map.
nesting-level contours (multiple contours that hint the depth of the
aggregated sub-tree, i.e., the number of an aggregate’s subjacent
hierarchy levels) can be used as well [
37
]. For software maps, the
aggregation should summarize contextual data of low variation to
provide orientation without distraction. Aggregation can further
extend user control and interaction, e.g., by means of folding and
unfolding, as well as for dynamically scaling the rendering load in
order to comply to performance constraints.
Height-based Selection and Thresholding. For 2.5D software maps,
a reference surface – a height reference – can be used to “facilitate
accurate identication of highest nodes as well as similar nodes [. .. ].
It allows ltering and selection of nodes based on their height and
depicts ltered and unselected notes in a clean way without intro-
ducing additional visual clutter.” [
40
]. Depending on the capabilities
of the renderer and the already occupied visual variables, one of
various approaches for the visual display of the height reference can
be applied, e.g., intersection, stilts, explicit surface, closed surface,
and implicit surface (cf. Figure 9). Using user-controlled aggrega-
tion (by means of folding and unfolding) in combination with an
interactive height-reference can provide a sucient foundation for
exploration-heavy tasks and map themes for single software maps
and whole software map landscapes.
Using Natural Metaphors. The use of natural metaphors is based
on the idea that, “when faced with unfamiliar concepts, our cogni-
tive system searches for the best mapping between the unknown
concept and existing knowledge of other domains” [
70
]. To this
end, natural metaphors, such as physically-based materials (e.g.,
rust, radiant emittance, roughness, and shininess; cf. Figure 10) or
weather phenomena (e.g., rain, clouds, re, dust, snow, etc. ) were
suggested to “emotionalize the visual communication by provid-
ing memorable visualizations” [
68
]. These metaphors can be used
to depict change predictions or deviations from expected values
on a secondary visual variable, while considering knowledge or
best-practices on preattentive processing of, e.g., numerical infor-
mation [
20
,
26
]. However, the use of weather phenomena requires
sophisticated rendering techniques, renderers and an interactive
context. Further, their use might be inappropriate in certain profes-
sional contexts and even distracting for the map theme.
Advanced Visual Metaphors and Techniques for Soware Maps VINCI’2019, September 20–22, 2019, Shanghai, China
Figure 9: An example combining visual ltering using a ref-
erence surface and adjacent charts that display per-axis pro-
jected height information [40]. The nodes that are below the
reference surface are visually ltered by means of a semi-
transparent surface metaphor.
Rough Neutral Shiny
Rusty Neutral Glowing
Figure 10: An example of (top) rough-to-shiny and (bottom)
rusty-to-glowing visualization metaphors to be used as vi-
sual variables. These metaphors are capable to communicate
deterioration or negative deviation (roughness, rust) and im-
provement or positive deviation (shine, glow) without need
for further introduction of the mapping semantics [68].
Mixed Projections. Recently, an approach for focus-sensitive use
2D and 2.5D treemaps was presented: “the technique operates by
tilting the graphical elements representing inner nodes using ane
transformations and animated state transitions” [
39
]. This allows
for on-demand separation of high-detail focus areas and context
areas. It further allows to reduce occlusion issues – which might
occur for a certain data set or map theme – and complexity of
navigation (3D to 2D). For software analytics, mixed projection can
facilitate communication of the source code modules that are target
to change for the current sprint. In this example, the context are
the other source code les present in the project. Similarly, mixed
projection can be of use if the height mapping is irrelevant for the
context, but highly relevant for focus, e.g., using the estimated time
to invest for a source code module to be mapped on height.
6 CONCLUSIONS AND FUTURE WORK
This paper reviewed advanced visual metaphors and visualization
techniques for software maps. A brief discussion for each metaphor
and technique is extended by common practices and own experi-
ences by the authors. Notably, the presented techniques are modular
and can be used in combination in an on-demand manner without
conicting with other techniques. This way, the software map can
be used for a wide range of use cases. Thereby, the approaches
can visually scale from small to large and even massive data sets.
Summarizing, we argue that the software map is a highly versatile
tool in visual software analytics.
For future work, we evaluate the applicability of the advanced
metaphors and techniques to other 2D and 2.5D information visu-
alization techniques. In order to broadly provide the software map
and its extensions, we plan to provide an open software ecosystem.
ACKNOWLEDGMENTS
This work was partially funded by the German Federal Ministry of
Education and Research (BMBF) within the KMUi project “BIMAP”
and the German Federal Ministry for Economic Aairs and Energy
(BMWi) within the ZIM project “Twin4Bim – TASAM”.
REFERENCES
[1]
Keith Andrews. 1995. Case study. Visualising cyberspace: information visu-
alisation in the Harmony Internet browser. In Proc. IEEE Vis. 97–104. https:
//doi.org/10.1109/INFVIS.1995.528692
[2]
Keith Andrews. 2002. Visual Exploration of Large Hierarchies with Information
Pyramids. In Proc. IEEE iV. 793. https://doi.org/10.1109/IV.2002.1028871
[3]
G. Balogh, A. Szabolics, and Á. Beszédes. 2015. CodeMetropolis: Eclipse over the
city of source code. In Proc. IEEE SCAM. 271–276. https://doi.org/10.1109/SCAM.
2015.7335425
[4]
Michael Balzer and Oliver Deussen. 2004. Hierarchy Based 3D Visualization of
Large Software Structures. In Proc. IEEE VIS (VIS ’04). IEEE Computer Society,
Washington, DC, USA. https://doi.org/10.1109/VISUAL.2004.39
[5]
Michael Balzer, Andreas Noack, Oliver Deussen, and Claus Lewerentz. 2004.
Software Landscapes: Visualizing the Structure of Large Software Systems. In
Proc. EG/IEEE VisSym, Oliver Deussen, Charles Hansen, Daniel Keim, and Dietmar
Saupe (Eds.). The Eurographics Association. https://doi.org/10.2312/VisSym/
VisSym04/261-266
[6]
Thomas Bladh, David A Carr, and Jeremiah Scholl. 2004. Extending tree-maps to
three dimensions: A comparative study. In Proc. APCHI. Springer, 50–59.
[7]
S. Boccuzzo and H. Gall. 2007. CocoViz: Towards Cognitive Software Visualiza-
tions. In Proc. IEEE VISSOFT. 72–79. https://doi.org/10.1109/VISSOF.2007.4290703
[8]
Johannes Bohnet and Jürgen Döllner. 2011. Monitoring Code Quality and Devel-
opment Activity by Software Maps. In Proc. ACM MTD (MTD ’11). ACM, 9–16.
https://doi.org/10.1145/1985362.1985365
[9]
Stuart K. Card, Jock D. Mackinlay, and Ben Shneiderman (Eds.). 1999. Readings in
Information Visualization: Using Vision to Think. Morgan Kaufmann Publishers.
[10]
M. Sheelagh T. Carpendale. 2003. Considering visual variables as a basis for
information visualisation. Technical Report. University of Calgary.
[11]
P. Caserta and O. Zendra. 2011. Visualization of the Static Aspects of Software: A
Survey. IEEE TVCG 17, 7 (2011), 913–933. https://doi.org/10.1109/TVCG.2010.110
[12]
Abon Chaudhuri and Han-Wei Shen. 2009. A self-adaptive treemap-based tech-
nique for visualizing hierarchical data in 3D. In Proc. IEEE PacicVis. IEEE Com-
puter Society, 105–112. https://doi.org/10.1109/PACIFICVIS.2009.4906844
[13]
Ed H. Chi. 2000. A Taxonomy of Visualization Techniques Using the Data State
Reference Model. In Proc. IEEE InfoVis (INFOVIS ’00). IEEE Computer Society.
[14]
Ed Huai-hsin Chi and John Riedl. 1998. An Operator Interaction Framework
for Visualization Systems. In Proc. IEEE InfoVis (INFOVIS ’98). IEEE Computer
Society, 63–70.
[15]
Junghong Choi, Oh-hyun Kwon, and Kyungwon Lee. 2011. Strata Treemaps. In
Proc. ACM SIGGRAPH Posters (SIGGRAPH ’11). ACM, 87. https://doi.org/10.1145/
2037715.2037813
[16]
Stephan Diehl. 2007. Software Visualization: Visualizing the Structure, Behaviour,
and Evolution of Software. Springer Science & Business Media.
[17]
Selan R. dos Santos and Ken Brodlie. 2004. Gaining understanding of multivariate
and multidimensional data through visualization. Elsevier Computers & Graphics
28 (2004), 311–325.
VINCI’2019, September 20–22, 2019, Shanghai, China Limberger, Scheibel, Döllner, and Trapp
[18]
S. Dübel, M. Röhlig, Heidrun Schumann, and Matthias Trapp. 2014. 2D and 3D
presentation of spatial data: A systematic review. In Proc. IEEE 3DVis. 11–18.
https://doi.org/10.1109/3DVis.2014.7160094
[19]
Niklas Elmqvist and Jean-Daniel Fekete. 2010. Hierarchical Aggregation for
Information Visualization: Overview, Techniques, and Design Guidelines. IEEE
TVCG 16, 3 (2010), 439–454. https://doi.org/10.1109/TVCG.2009.84
[20]
Stephen Few. 2004. Tapping the power of visual perception. Visual Business
Intelligence Newsletter 39 (2004), 41–42.
[21]
M. Giereth, H. Bosch, and T. Ertl. 2008. A 3D treemap approach for analyzing
the classicatory distribution in patent portfolios. In Proc. IEEE VAST. 189–190.
https://doi.org/10.1109/VAST.2008.4677380
[22]
J. Görtler, C. Schulz, Daniel Weiskopf, and Oliver Deussen. 2017. Bubble Treemaps
for Uncertainty Visualization. IEEE TVCG (2017). https://doi.org/10.1109/TVCG.
2017.2743959
[23]
Robert B Haber and David A McNabb. 1990. Visualization idioms: A conceptual
model for scientic visualization systems. Visualization in Scientic Computing
74 (1990), 93.
[24]
Haleh Hagh-Shenas, Victoria Interrante, Christopher Healey, and Sunghee Kim.
2006. Weaving Versus Blending: A Quantitative Assessment of the Information
Carrying Capacities of Two Alternative Methods for Conveying Multivariate
Data with Color. In Proc. ACM APGV. 164–164. https://doi.org/10.1145/1140491.
1140541
[25]
Sebastian Hahn and Jürgen Döllner. 2017. Hybrid-Treemap Layouting. In Proc.
EG EuroVis – Short Papers, Barbora Kozlikova, Tobias Schreck, and Thomas Wis-
chgoll (Eds.). The Eurographics Association. https://doi.org/10.2312/eurovisshort.
20171137
[26]
Philipp N Hesse, Constanze Schmitt, Steen Klingenhoefer, and Frank Bremmer.
2017. Preattentive processing of numerical visual information. Frontiers in human
neuroscience 11 (2017), 70.
[27]
Danny Holten. 2006. Hierarchical Edge Bundles: Visualization of Adjacency
Relations in Hierarchical Data. IEEE T VCG 12, 5 (2006), 741–748. https://doi.org/
10.1109/TVCG.2006.147
[28]
Danny Holten, Roel Vliegen, and Jarke J. van Wijk. 2005. Visual realism for the
visualization of software metrics. In Proc. IEEE VISSOFT. IEEE, 1–6.
[29]
Takayuki Itoh, H. Takakura, A. Sawada, and K. Koyamada. 2006. Hierarchical
visualization of network intrusion detection data. IEEE CG&A 26, 2 (2006), 40–47.
https://doi.org/10.1109/MCG.2006.34
[30]
Daniel A. Keim, Gennady Andrienko, Jean-Daniel Fekete, Carsten Gorg, Jorn
Kohlhammer, and Guy Melançon. 2008. Visual analytics: Denition, process, and
challenges. Springer LNCS 4950 (2008), 154–176.
[31]
C. Knight and M. Munro. 1999. Comprehension with[in] virtual environment
visualisations. In Proc. WPC. 4–11. https://doi.org/10.1109/WPC.1999.777733
[32]
N. Kong, Jerey Heer, and M. Agrawala. 2010. Perceptual Guidelines for Creating
Rectangular Treemaps. IEEE TVCG 16, 6 (2010), 990–998. https://doi.org/10.1109/
TVCG.2010.186
[33]
A. Kuhn, P. Loretan, and O. Nierstrasz. 2008. Consistent Layout for Thematic
Software Maps. In Proc. WCRE. 209–218. https://doi.org/10.1109/WCRE.2008.45
[34]
Guillaume Langelier, Houari Sahraoui, and Pierre Poulin. 2005. Visualization-
based Analysis of Quality for Large-scale Software Systems. In Proc. ASE (ASE
’05). ACM, 214–223. https://doi.org/10.1145/1101908.1101941
[35]
Daniel Limberger, Carolin Fiedler, Sebastian Hahn, Matthias Trapp, and Jürgen
Döllner. 2016. Evaluation of Sketchiness as a Visual Variable for 2.5 D Treemaps.
In Proc. IEEE iV. IEEE, 183–189.
[36]
Daniel Limberger, Marcel Pursche, Jan Klimke, and Jürgen Döllner. 2017. Progres-
sive High-quality Rendering for Interactive Information Cartography Using We-
bGL. In Proc. ACM Web3D.ACM, 8:1–8:4. https://doi.org/10.1145/3055624.3075951
[37]
Daniel Limberger, Willy Scheibel, Sebastian Hahn, and Jürgen Döllner. 2017.
Reducing Visual Complexity in Software Maps using Importance-based Ag-
gregation of Nodes. In Proc. IVAPP. INSTICC, SciTePress, 176–185. https:
//doi.org/10.5220/0006267501760185
[38]
Daniel Limberger, Willy Scheibel, Stefan Lemme, and Jürgen Döllner. 2016. Dy-
namic 2.5D Treemaps Using Declarative 3D on the Web. In Proc. ACM Web3D
(Web3D ’16). ACM, 33–36. https://doi.org/10.1145/2945292.2945313
[39]
Daniel Limberger, Willy Scheibel, Matthias Trapp, and Jürgen Döllner. 2017.
Mixed-Projection Treemaps: A Novel Approach Mixing 2D and 2.5D Treemaps.
In Proc. IEEE iV. 164–169. https://doi.org/10.1109/iV.2017.67
[40]
Daniel Limberger, Matthias Trapp, and Jürgen Döllner. 2018. Interactive, Height-
Based Filtering in 2.5D Treemaps. In Proc. ACM VINCI (VINCI ’18). ACM, 49–55.
https://doi.org/10.1145/3231622.3231638
[41]
Daniel Limberger, Matthias Trapp, and Jürgen Döllner. 2019. In-Situ Comparison
for 2.5D Treemaps. In Proc. IVAPP. INSTICC, SciTePress.
[42]
Daniel Limberger, Benjamin Wasty, Jonas Trümper, and Jürgen Döllner. 2013.
Interactive Software Maps for Web-based Source Code Analysis. In Proc. ACM
Web3D (Web3D ’13). ACM, 91–98. https://doi.org/10.1145/2466533.2466550
[43]
S. Liu, D. Maljovec, B. Wang, P. Bremer, and V. Pascucci. 2017. Visualizing
High-Dimensional Data: Advances in the Past Decade. IEEE TVCG 23, 3 (2017),
1249–1268. https://doi.org/10.1109/TVCG.2016.2640960
[44]
Martin Luboschik and Heidrun Schumann. 2008. Discovering the covered: Ghost-
views in information visualization. In Proc. WSCG.
[45]
Andrian Marcus, Louis Feng, and Jonathan I. Maletic. 2003. 3D Representations
for Software Visualization. In Proc. ACM SoftVis (SoftVis ’03). ACM, 27–. https:
//doi.org/10.1145/774833.774837
[46]
P. Molli, H. Skaf-Molli, and C. Bouthier. 2001. State Treemap: an awareness
widget for multi-synchronous groupware. In Proc. CRIWG. 106–114. https:
//doi.org/10.1109/CRIWG.2001.951823
[47]
P. Samuel Quinan, Lace Padilla, Sarah H. Creem-Regehr, and Miriah Meyer. 2019.
Examining Implicit Discretization in Spectral Schemes. EG CGF (from EuroVis
’19), to appear (2019).
[48]
Willy Scheibel, Stefan Buschmann, Matthias Trapp, and Jürgen Döllner. 2017.
Attributed Vertex Clouds. Bowker Identier Services, Chapter Geometry Manipu-
lation, 3–21.
[49]
Willy Scheibel, Judith Hartmann, and Jürgen Döllner. 2019. HiViSer API –
Provisioning of Hierarchy Visualizations in the Web. In Proc. IVAPP. INSTICC,
SciTePress.
[50]
Willy Scheibel, Matthias Trapp, and Jürgen Döllner. 2016. Interactive Revision
Exploration using Small Multiples of Software Maps. In Proc.IVAPP. INSTICC,
SciTePress, 131–138. https://doi.org/10.5220/0005694401310138
[51]
Willy Scheibel, Christopher Weyand, and Jürgen Döllner. 2018. EvoCells - A
Treemap Layout Algorithm for Evolving Tree Data. In Proc. IVAPP. INSTICC,
SciTePress.
[52]
K. B. Schloss, C. C. Gramazio, A. T. Silverman, M. L. Parker, and A. S. Wang. 2018.
Mapping Color to Meaning in Colormap Data Visualizations. IEEE TVCG (2018).
https://doi.org/10.1109/TVCG.2018.2865147
[53]
Hans-Jörg Schulz, Steen Hadlak, and Heidrun Schumann. 2011. The design
space of implicit hierarchy visualization: A survey. IEEE T VCG 17, 4 (2011),
393–411.
[54]
Ben Shneiderman. 1996. The Eyes Have It: A Task by Data Type Taxonomy
for Information Visualizations. In Proc. IEEE VL. IEEE Computer Society, 336.
https://doi.org/10.1109/VL.1996.545307
[55]
Ben Shneiderman. 2009. Treemaps for space-constrained visualization of hierarchies.
Technical Report. Human-Computer Interaction Lab. http://www.cs.umd.edu/
hcil/treemap-history.
[56]
A. G. Soares, D. H. dos Santos, C. L. Barbosa, A. S. Goncalves, C. G. dos Santos,
B. S. Meiguins, and E. T. Miranda. 2018. Visualizing Multidimensional Data in
Treemaps with Adaptive Glyphs. In Proc. Proc. iV. 58–63. https://doi.org/10.1109/
iV.2018.00021
[57]
Marcel Steinbeck, Rainer Koschke, and Marc O. Rüdel. 2019. Comparing the
EvoStreets Visualization Technique in Two D and Three-dimensional Environ-
ments: A Controlled Experiment. In Proc. IEEE ICPC (ICPC ’19). IEEE Press,
231–242. https://doi.org/10.1109/icpc.2019.00042
[58]
Frank Steinbrückner and Claus Lewerentz. 2013. Understanding software evo-
lution with software cities. Information Visualization 12, 2 (2013), 200–216.
https://doi.org/10.1177/1473871612438785
[59]
Sidharth Thakur and Theresa-Marie Rhyne. 2009. Data Vases: 2D and 3D Plots for
Visualizing Multiple Time Series. In Proc. ISVC Part II. Springer Berlin Heidelberg,
929–938. https://doi.org/10.1007/978-3- 642-10520- 3_89
[60]
Matthias Trapp, Sebastian Schmechel, and Jürgen Döllner. 2013. Interactive
rendering of complex 3d-treemaps. In Proc. GRAPP. 165–175.
[61]
Y. Tu and H. W. Shen. 2007. Visualizing Changes of Hierarchical Data using
Treemaps. IEEE TVCG 13, 6 (2007), 1286–1293. https://doi.org/10.1109/TVCG.
2007.70529
[62]
David Turo and Brian Scott Johnson. 1992. Improving the Visualization of
Hierarchies with Treemaps: Design Issues and Experimentation. In Proceedings
IEEE Vis (VIS ’92). IEEE Computer Society Press, 124–131.
[63]
Jarke J. van Wijk. 2005. The value of visualization. In Proc. IEEE Vis. 79–86.
https://doi.org/10.1109/VISUAL.2005.1532781
[64]
Jarke J. van Wijk and Huub van de Wetering. 1999. Cushion treemaps: Visualiza-
tion of hierarchical information. In Proc. IEEE InfoVis. IEEE, 73–78.
[65] Colin Ware. 2012. Information visualization: perception for design. Elsevier.
[66]
Richard Wettel and Michele Lanza. 2007. Program Comprehension Through
Software Habitability. In Proc. IEEE ICPC (ICPC ’07). IEEE Computer Society,
231–240. https://doi.org/10.1109/ICPC.2007.30
[67]
Richard Wettel and Michele Lanza. 2008. CodeCity: 3D Visualization of Large-
scale Software. In Companion of the 30th International Conference on Software
Engineering. ACM, 921–922. https://doi.org/10.1145/1370175.1370188
[68]
Hannes Würfel, Matthias Trapp, Daniel Limberger, and Jürgen Döllner. 2015.
Natural Phenomena as Metaphors for Visualization of Trend Data in Interactive
Software Maps. In Proc. CGVC. The Eurographics Association. https://doi.org/
10.2312/cgvc.20151246
[69]
Yingtao Xie, Tao Lin, Rui Chen, and Zhi Chen. 2017. Toward improved aesthetics
and data discrimination for treemaps via color schemes. Wiley CR&A (2017), to
be published. https://doi.org/10.1002/col.22196
[70]
Jin Zhang. 2008. The Implication of Metaphors in Information Visualization. In
Visualization for Information Retrieval. Vol. 23. Springer, 215–237.
... -Icicle Plots for representations of trace executions [36,10], -Treemaps depicting the hierarchical structure of software projects [41,32], -Circular Bundle Views illustrating relations, e.g., include dependencies [11], -Software Cities that reflect the development history of software [45,46], and similar approaches based on cartographic metaphors [21,28]. ...
... Given their 2D layout, they can be extended into the third dimension, thus resulting in a 2.5D visualization. Besides height, color, and texture 2.5D treemaps offer additional visual variables for additional information display [32,31,33]. An approach that refer to natural phenomena, e.g., fire or rain, for visualizing software evolution in a 2.5D treemap was proposed by Würfel et al. [54]. ...
... Most importantly, the effectiveness of our approach and the visual mappings should be evaluated in a systematic user study, e.g., to identify visual mappings best-suited for program comprehension tasks in an industrial setting with developers and project managers. Furthermore, we can imagine including more advanced visual mappings, especially in the case of the city metaphor [32]. ...
Chapter
Full-text available
For various program comprehension tasks, software visualization techniques can be beneficial by displaying aspects related to the behavior, structure, or evolution of software. In many cases, the question is related to the semantics of the source code files, e.g., the localization of files that implement specific features or the detection of files with similar semantics. This work presents a general software visualization technique for source code documents, which uses 3D glyphs placed on a two-dimensional reference plane. The relative positions of the glyphs captures their semantic relatedness. Our layout originates from applying Latent Dirichlet Allocation and Multidimensional Scaling on the comments and identifier names found in the source code files. Though different variants for 3D glyphs can be applied, we focus on cylinders, trees, and avatars. We discuss various mappings of data associated with source code documents to the visual variables of 3D glyphs for selected use cases and provide details on our visualization system.
... They involve another metaphor to form the visualization. However, they are helpful to augment the cognitive and perceptual capacity in existing complex data visualizations [79]. Furthermore, these metaphors can communicate a dynamic dataset's positive divergence (glow, shine) and negative divergence (incorporating fire, rust, or roughness). ...
... An empirical study has been carried out by Yi-Na Li et al. [82]. The results show that information comprehension is improved with glyph-based metaphors [78,79] (Table 01). Furthermore, natural phenomena [64] have been used as animation to decrease attention requirements. ...
Article
Full-text available
Today, large volumes of complex data are collected in many application domains such as health, finance and business. However, using traditional data visualization techniques, it is challenging to visualize abstract information to gain valuable insights into complex multidimensional datasets. One major challenge is the higher cognitive load in interpreting information. In this context, 3D metaphor-based information visualization has become a key research area in helping to gain useful insight into abstract data. Therefore, it has become critical to investigate the evolution of 3D metaphors with HCI techniques to minimize the cognitive load on the human brain. However, there are only a few recent reviews can be found for 3D metaphor-based data visualization. Therefore, this paper provides a comprehensive review of multidimensional data visualization by investigating the evolution of 3D metaphoric data visualization and interaction techniques to minimize the cognitive load on the human brain. Complying with PRISMA (Preferred Reporting Items for Systematic Reviews and Meta-Analyses) guidelines this paper performs a systematic review of 3D metaphor-based data visualizations. This paper contributes to advancing the present state of knowledge in 3D metaphoric data visualization by critically analyzing the evolution of interactive 3D metaphors for information visualization. Further, this review identifies six main 3D metaphor categories and ten cognitive load minimizing techniques used in modern data visualization. In addition, this paper contributes three taxonomies by synthesizing the literature with a critical review of the strengths and weaknesses of metaphors. Finally, the paper discusses potential exploration paths for future research improvements.
... In software analytics, treemaps are used to depict software system and software engineering data, resulting in so-called software maps (Limberger et al. 2019a). Software maps are a general-purpose interactive user interface for information display in software analytics. ...
... To advance towards the goals of visual software analytics, i.e., ''(1) derive insight from massive, dynamic, ambiguous, and often conflicting data, (2) detect the expected and discover the unexpected, (3) provide timely, defensible, and understandable assessments, [and] (4) communicate assessment effectively for action'' (Keim et al. 2008), we extend on the recent work of Limberger et al. (2019a) and derive the following research questions for software maps: ...
Article
Full-text available
Software maps provide a general-purpose interactive user interface and information display in software analytics. This paper classifies software maps as a containment-based treemap embedded into a 3D attribute space and introduces respective terminology. It provides a comprehensive overview of advanced visual metaphors and techniques, each suitable for interactive visual analytics tasks. The metaphors and techniques are briefly described, located within a visualization pipeline model, and considered within a software map design space. The general expressiveness and applicability of visual variables are detailed and discussed. Consequent applications and use cases w.r.t. different types of software system data and software engineering data are discussed, arguing for versatile use of software maps in visual software analytics.
... Researchers quickly adopted the idea of Code Cities and used them-and still do so-to visualize a variety of aspects of software [1]- [26]. By mapping colors and textures onto the surface of the three-dimensional blocks of a Code City, yet another metric can be visualized in an intuitive way [20]. Code Cities today vary also in their layout. ...
Conference Paper
Full-text available
An important aspect in software visualization is the visualization of relations between elements. Examples include function calls across source-code files, software clones, and the like. A popular means of visualizing such relations are edges depicted as lines visually connecting the related elements. To diminish the visual clutter that can occur when drawing a large number of edges, hierarchical edge bundles, based on B-Splines, have proven suitable. In addition to a purely static view of software, animations, both of the elements and the edges, can contribute to the usability of a visualization by making changes easier to track for users. In this paper we discuss how B-Splines can be used as a basis for a variety of edge layouts and how edges represented as B-Splines can be animated using B-Spline morphing. We also discuss the challenges of morphing B-Splines, especially of those whose shape does not result solely from the positions of the connected elements (e.g., straight lines), but whose structure depends on multiple aspects (e.g., hierarchical edge bundles) and provide a solution to make arbitrary B-Splines compatible for morphing. The practicality of edge animation is demonstrated by use cases which we already implemented or plan to implement in the future in our software visualization tool SEE. Supplemental material: https://github.com/tinyspline/vissoft2022/archive/refs/tags/1.0.0.zip (see README.md in the zip archive)
... In addition to the geometric extensions (width, height, and depth) of the buildings of a Code City, colors can be used to express yet another metric by mapping the metric values to color gradients (e.g., from green to red) and applying the gradients on the surface of the buildings [16], [19]. Sizing and coloring the representation of the elements of a software to be visualized is well suited to express several metrics-up to fourfor individual elements at once. ...
Conference Paper
Full-text available
This paper presents a study in which we compared the visualization of code smells in Code Cities with classical tabular representations. We conducted a controlled experiment with 20 participants who had to solve six tasks in both environments. We evaluated the results of our experiment statistically and came to the following conclusions: In four tasks the completion time was significantly lower when using Code Cities (the remaining two tasks did not show any statistically significant differences for any of the two environments). Also, the perceived effort was significantly lower in three tasks when the participants used Code Cities over the tabular representation (again, the remaining tasks did not show any statistically significant differences). However, with regard to the perceived usability (which was measured across all tasks) and the correctness of the supplied answers, the tabular representation performed better. In particular, in two tasks the correctness was significantly better in the tabular environment and in one task the correctness was significantly better in the Code Cities environment. Based on our results, our verdict is as follows: Code Cities are better suited to get a quick overview of the code smells of a software, whereas tabular representations are better suited to analyze code smells in more detail.
... Mining Software Repositories (MSR) focuses on extracting and analyzing data available in software repositories to uncover interesting, helpful, and actionable information about the software system [14]. One goal is to quantify and monitor the quality of the developed software employing software metrics [8], another is to explore new ways of making sense of the data. However, traversing and gathering the vast amount of data poses a challenge [4,[9][10][11]. ...
Preprint
Full-text available
Software projects under version control grow with each commit, accumulating up to hundreds of thousands of commits per repository. Especially for such large projects, the traversal of a repository and data extraction for static source code analysis poses a trade-off between granularity and speed. We showcase the command-line tool pyrepositoryminer that combines a set of optimization approaches for efficient traversal and data extraction from git repositories while being adaptable to third-party and custom software metrics and data extractions. The tool is written in Python and combines bare repository access, in-memory storage, parallelization, caching, change-based analysis, and optimized communication between the traversal and custom data extraction components. The tool allows for both metrics written in Python and external programs for data extraction. A single-thread performance evaluation based on a basic mining use case shows a mean speedup of 15.6x to other freely available tools across four mid-sized open source projects. A multi-threaded execution allows for load distribution among cores and, thus, a mean speedup up to 86.9x using 12 threads.
... Mining Software Repositories (MSR) focuses on extracting and analyzing data available in software repositories to uncover interesting, helpful, and actionable information about the software system [14]. One goal is to quantify and monitor the quality of the developed software employing software metrics [8], another is to explore new ways of making sense of the data. However, traversing and gathering the vast amount of data poses a challenge [4,[9][10][11]. ...
Conference Paper
Full-text available
Software projects under version control grow with each commit, accumulating up to hundreds of thousands of commits per repository. Especially for such large projects, the traversal of a repository and data extraction for static source code analysis poses a trade-off between granularity and speed. We showcase the command-line tool pyrepositoryminer that combines a set of optimization approaches for efficient traversal and data extraction from git repositories while being adaptable to third-party and custom software metrics and data extractions. The tool is written in Python and combines bare repository access, in-memory storage, parallelization, caching, change-based analysis, and optimized communication between the traversal and custom data extraction components. The tool allows for both metrics written in Python and external programs for data extraction. A single-thread performance evaluation based on a basic mining use case shows a mean speedup of 15.6x to other freely available tools across four mid-sized open source projects. A multi-threaded execution allows for load distribution among cores and, thus, a mean speedup up to 86.9x using 12 threads.
... Examples for Software Visualizations supporting program comprehension tasks or risk monitoring include treemaps based on the folder structure of source code projects, where additional quantitative data about a software's quality or complexity is mapped to visual variables (Bohnet and Döllner, 2011;Limberger et al., 2019;Scheibel et al., 2020), circular bundle views for displaying dependencies between source code files (Trümper et al., 2012), trace visualization techniques (Trümper et al., 2010) or software landscapes displaying the semantic structure that is captured from investigating the use of natural language in comments and identifier names using topic models (Kuhn et al., 2008;Atzberger et al., 2021a;Atzberger et al., 2021b). ...
Conference Paper
Full-text available
In order to detect software risks at an early stage, various software visualization techniques have been developed for monitoring the structure, behaviour, or the underlying development process of software. One of greatest risks for any IT organization consists in an inappropriate distribution of knowledge among its developers, as a projects' success mainly depends on assigning tasks to developers with the required skills and expertise. In this work, we address this problem by proposing a novel Visual Analytics framework for mining and visualizing the expertise of developers based on their source code activities. Under the assumption that a developer's knowledge about code is represented directly through comments and the choice of identifier names, we generate a 2D layout using Latent Dirichlet Allocation together with Multidimensional Scaling on the commit history, thus displaying the semantic relatedness between developers. In order to capture a developer's expertise in a concept, we utilize Labeled LDA trained on a corpus of Open Source projects. By mapping aspects related to skills onto the visual variables of 3D glyphs, we generate a 2.5D Visualization, we call KnowhowMap. We exemplify this approach with an interactive prototype that enables users to analyze the distribution of skills and expertise in an explorative way.
Article
Full-text available
Two of the primary reasons rainbow color maps are considered ineffective trace back to the idea that they implicitly discretize encoded data into hue‐based bands, yet no research addresses what this discretization looks like or how consistent it is across individuals. This paper presents an exploratory study designed to empirically investigate the implicit discretization of common spectral schemes and explore whether the phenomenon can be modeled by variations in lightness, chroma, and hue. Our results suggest that three commonly used rainbow color maps are implicitly discretized with consistency across individuals. The results also indicate, however, that this implicit discretization varies across different datasets, in a way that suggests the visualization community's understanding of both rainbow color maps, and more generally effective color usage, remains incomplete.
Presentation
Full-text available
Software maps -- linking rectangular 3D-Treemaps, software system structure, and performance indicators -- are commonly used to support informed decision making in software-engineering processes. A key aspect for this decision making is that software maps provide the structural context required for correct interpretation of these performance indicators. In parallel, source code repositories and collaboration platforms are an integral part of today's software-engineering tool set, but cannot properly incorporate software maps since implementations are only available as stand-alone applications. Hence, software maps are 'disconnected' from the main body of this tool set, rendering their use and provisioning overly complicated, which is one of the main reasons against regular use. We thus present a web-based rendering system for software maps that achieves both fast client-side page load time and interactive frame rates even with large software maps. We significantly reduce page load time by efficiently encoding hierarchy and geometry data for the net transport. Apart from that, appropriate interaction, layouting, and labeling techniques as well as common image enhancements aid evaluation of project-related quality aspects. Metrics provisioning can further be implemented by predefined attribute mappings to simplify communication of project specific quality aspects. The system is integrated into dashboards to demonstrate how our web-based approach makes software maps more accessible to many different stakeholders in software-engineering projects.
Poster
Full-text available
2.5D treemaps can be used to visualize tree-structured data using the height dimension for additional information display. The input data sets representing systems or phenomena to be visualized are usually in a state of flux. For example, to understand and evaluate the development of a software system using treemaps, it is required to be able to analyze the data collected over time, such as the extent of code changes or the number of developers involved.
Conference Paper
Full-text available
2.5D treemaps can be used to visualize tree-structured data using the height dimension for additional information display. For tree-structured and time-variant data though, changes or variants in the data are difficult to visualize. This paper presents an in-situ approach to depict differences between two versions (original and comparative state) of a data set, e.g., metrics of different revisions of a software system, in a single 2.5D treemap. Multiple geometry variants for the in-situ representation of individual nodes, especially concerning height, area, and color, are presented and discussed. Finally, a preliminary study for the simultaneous change of attributes in height and area is described, hinting that arrow pattern help to clarify reading direction.
Presentation
Full-text available
Presentation of Workshop Paper "2D and 3D Presentation of Spatial Data: A Systematic Review"
Article
Full-text available
To interpret data visualizations, people must determine how visual features map onto concepts. For example, to interpret colormaps, people must determine how dimensions of color (e.g., lightness, hue) map onto quantities of a given measure (e.g., brain activity, correlation magnitude). This process is easier when the encoded mappings in the visualization match people's predictions of how visual features will map onto concepts, their inferred mappings. To harness this principle in visualization design, it is necessary to understand what factors determine people's inferred mappings. In this study, we investigated how inferred color-quantity mappings for colormap data visualizations were influenced by the background color. Prior literature presents seemingly conflicting accounts of how the background color affects inferred color-quantity mappings. The present results help resolve those conflicts, demonstrating that sometimes the background has an effect and sometimes it does not, depending on whether the colormap appears to vary in opacity. When there is no apparent variation in opacity, participants infer that darker colors map to larger quantities (dark-is-more bias). As apparent variation in opacity increases, participants become biased toward inferring that more opaque colors map to larger quantities (opaque-is-more bias). These biases work together on light backgrounds and conflict on dark backgrounds. Under such conflicts, the opaque-is-more bias can negate, or even supersede the dark-is-more bias. The results suggest that if a design goal is to produce colormaps that match people's inferred mappings and are robust to changes in background color, it is beneficial to use colormaps that will not appear to vary in opacity on any background color, and to encode larger quantities in darker colors.
Conference Paper
Full-text available
The 2.5D treemap facilitates interactive exploration of multivariate data. It includes height as a visual variable for additional information display and enables exploration of correlations within mapped attributes. In this paper techniques for the visual display of a height reference for interactive modification from within the visualization are introduced. Results of a preliminary user study are presented and potential benefits for improved performance, i.e., precision and speed, of identification, comparison, filtering, and selection tasks are discussed.
Conference Paper
Treemap is one of the most well-known and used techniques for data analysis in InfoVis. However, it still presents some challenges concerning data representation, such as small items, a large number of hierarchies limiting the visual space, few options for visual data representation (restricted to size, color, label), and others. Thus, this paper presents an InfoVis tool that allows the analysis of multidimensional data using treemaps with glyphs, once they represent more data visually combined visual variables. Besides that, considering treemap scenarios with small area items, an algorithm was developed to analyze which part of the glyph the application should draw since parts of the glyph can still provide useful information. In this way, the glyphs become adaptative to available space. The application has a multilabel decision tree technique that decides which part of the glyph should appear. Visualization specialists supplied the training data through a system that showed a diverse range of glyphs' representations. The system varied the glyph's size, the number and the value of the visible visual variables and registered the response of specialists in the training data. Finally, this paper presents images using the treemap with adaptive glyphs approach versos treemap+glyphs and showed that the adaptive approach clears information clutter when treemap items are small.
Article
In this article, we present a novel treemap coloring method which can help users to analyze visual data more easily. Our method overcomes two major limitations of existing treemaps in that they are either aesthetically unpleasing or unable to readily discriminate data blocks with close sizes. Our study indicates that the use of proper color schemes can surprisingly address these two seemingly uncorrelated limitations simultaneously. To improve the aesthetic value of a treemap, we apply the color aesthetic model to treemap generation. To better the degree of data discrimination of similar data, based on the principle of expansive and contractive colors, we propose a novel quantitative color-visually perceived area (C-VPA) model via experimental methods. Furthermore, we combine these two models to derive a genetic algorithm-based treemap coloring method. Our experimental results confirm the superiority of our method in terms of improved data discrimination and aesthetics of the treemaps.