Visual variables and configuration of software maps
J Vis
https://doi.org/10.1007/s12650-022-00868-1
R E G UL A R P A P E R
Daniel Limberger
•
Willy Scheibel • Jürgen Döllner • Matthias Trapp
Visual variables and configuration of software maps
Received: 2 February 2022 / Revised: 25 May 2022 / Accepted: 4 July 2022
Ó The Author(s) 2022
Abstract 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 for different software system data and software engineering data are discussed, arguing for the versatile use of software maps in visual software analytics.
Keywords Software visualization Treemaps Visual variables Design space
1 Introduction
Treemaps denote a group of well-known, widely used, versatile techniques for visualizing information. They enable
the presentation of extensive, non-spatial, tree-structured data and reliably serve thematic maps’ familiarity, convenience, and informative value. In its most common 2D form, data are mapped to color and area. They can also be
embedded into the third dimension, e.g., using cuboids or pyramids (Turo and Johnson 1992), resulting in so-called
2.5D treemaps (Fig. 1) or 3D-embedded treemaps. These offer further possibilities for mapping and overlaying data
or visual variables (Carpendale 2003). 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’’ (Keim et al. 2008). Treemaps are a tool that is used in many
variations and different domains (Shneiderman 2009). For example, they have been used to depict file systems (Johnson and Shneiderman 1991), stock markets (Wattenberg 1999), controller performance data (Shah et al.
2005), health data (Chazard et al. 2006), demographics (Jern et al. 2009), business intelligence (Vliegen et al.
2006; Roberts and Laramee 2018), and software development (Merino et al. 2018). This has ultimately led to
treemaps being increasingly integrated into well-known charting tools, frameworks, and libraries.
D. Limberger (&) W. Scheibel (&) J. Döllner M. Trapp
Digital Engineering Faculty, Hasso Plattner Institute, University of Potsdam, Potsdam, Germany
E-mail:
W. Scheibel
E-mail:
J. Döllner
E-mail:
M. Trapp
E-mail:
D. Limberger et al.
Fig. 1 An illustration of a 2.5D software map with a software metric mapped to the height of cuboids (leaf nodes) representing
software modules, thus making it a software map. Neither color nor area is used for attribute mapping. Instead, it shows the
expressiveness of additional visual cues, i.e., floating nodes and shadows, that can enhance the synthesized gestalt of a software
system
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. Typically, a catalog of software map
themes compiles commonly used attribute selections and mappings to visual variables relevant to specific
tasks. A software map theme, hereinafter referred to as map theme, defines a selection of software information dimensions mapped onto a software map’s visual variables. It portrays selected aspects of the
software information gathered and analyzed by software analytics processes. In a sense, a map theme
presents a topic or use-case-specific software map template that supports different stakeholders in software
engineering in data-driven decision making.
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:
– How can data be depicted beyond the primary use of area, height, and color?
– To what extent can techniques be used individually and in combination?
– How does the data type impact the utilization of certain visual variables?
Fig. 2 Model of the visualization process (van Wijk 2005) consisting of a visualization pipeline (dos Santos and Brodlie 2004)
and a feedback loop for knowledge gathering and interactive user control. This model applies to visual software analytics using
software maps
Visual variables and configuration of software maps
– What are helpful configurations and variations of software maps?
To answer these questions, we discuss advanced visual metaphors and techniques for software maps by
exploring the underlying visualization pipeline. A superimposed visualization process integrates a visualization pipeline into a feedback loop with interactive user control of the various stages (van Wijk 2005).
Such a visualization pipeline is a sequence of three to four data processing stages with named inputs and
outputs that conceptualize the transformation process of data into images. This visualization process is well
understood, and there are a few variations of models of visualization pipelines: When 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 (Chi and Riedl 1998; Card
et al. 1999; Chi 2000). An extensive overview of specific transformations suitable for visualization purposes
was provided by Liu et al. (2017). A similar naming schema uses (1) data enrichment/enhancement, (2)
visualization mapping, and (3) rendering to describe the same process (Haber and McNabb 1990). This
schema was later refined to (1) data analysis, (2) filtering, (3) mapping, and (4) rendering (dos Santos and
Brodlie 2004). We use the latter model and refer to the first two stages as preprocessing and filtering.
Preprocessing and filtering cover, among others, analytics, selection, enrichment, transformation, and
resampling of raw data. The mapping stage maps abstract data to visual representations (visual variables and
configuration). Finally, rendering creates a visual representation using image synthesis (cf. Fig. 2).
Using this model, we provide an overview of advanced visual metaphors th (...truncated)