Conference PaperPDF Available

Past, Present, and Future of 3D Software Visualization: A Systematic Literature Analysis

Authors:
  • ipoque - a Rohde & Schwarz company
  • Leipzig University, Leipzig, Saxony, Germany

Abstract and Figures

The ongoing 2D vs. 3D research debate from information visualization also affects software visualization. There are many 2D, 3D, and combinations of 2D and 3D visualizations for software representing its structure, behavior, or evolution. This study contributes findings to this debate and presents the results of analyzing the applications of 3D in software visualization with the objectives to outline the state-of-the-art, to reveal trends, and to identify research gaps. The analysis combined a systematic mapping study to get an overview and a systematic literature review to gain deeper insights. The relevant papers were identified by three different search strategies (manual browsing, keyword, and backward search). Starting with a set of 4386 publications from the fields of information and software visualization 155 relevant papers dealing with 2D & 3D or 3D software visualizations were identified. These papers were analyzed according to dimensionality, aspect, year, evaluation method, and application of the third dimension. In a nutshell, the majority of 3D software visualizations represents the structural aspect, is either evaluated using case studies showing working examples or not evaluated at all, and applies a 2D layout using the third dimension for displaying software metrics.
Content may be subject to copyright.
Past, Present, and Future of 3D Software Visualization
A Systematic Literature Analysis
Richard Müller1, Dirk Zeckzer2
1Information Systems Institute, Leipzig University, Leipzig, Germany
2Institute of Computer Science, Leipzig University, Leipzig, Germany
rmueller@wifa.uni-leipzig.de, zeckzer@informatik.uni-leipzig.de
Keywords: 3D, Software Visualization, Systematic Mapping Study, Systematic Literature Review
Abstract: The ongoing 2D vs. 3D research debate from information visualization also affects software visualization.
There are many 2D, 3D, and combinations of 2D and 3D visualizations for software representing its structure,
behavior, or evolution. This study contributes findings to this debate and presents the results of analyzing the
applications of 3D in software visualization with the objectives to outline the state-of-the-art, to reveal trends,
and to identify research gaps. The analysis combined a systematic mapping study to get an overview and
a systematic literature review to gain deeper insights. The relevant papers were identified by three different
search strategies (manual browsing, keyword, and backward search). Starting with a set of 4386 publications
from the fields of information and software visualization 155 relevant papers dealing with 2D & 3D or 3D
software visualizations were identified. These papers were analyzed according to dimensionality, aspect,
year, evaluation method, and application of the third dimension. In a nutshell, the majority of 3D software
visualizations represents the structural aspect, is either evaluated using case studies showing working examples
or not evaluated at all, and applies a 2D layout using the third dimension for displaying software metrics.
1 INTRODUCTION
As a branch of information visualization, software
visualization provides tools and methods to create
representations for structural, behavioral, and evolu-
tionary aspects of software systems (Diehl, 2007).
Comprehensive surveys with numerous visualiza-
tions ranging from 2D to 3D were performed by
Graˇ
canin et al. (2005), Teyseyre and Campo (2009),
and Caserta and Zendra (2011). However, as in its
parental discipline, there is an ongoing 2D vs. 3D de-
bate. This study aims at investigating the use of 3D in
software visualization and how its usefulness is eval-
uated.
A suitable approach for this investigation are sys-
tematic mapping studies and literature reviews. A
systematic mapping study aims at building a classi-
fication scheme in order to structure a research field
(Petersen et al., 2008). The scheme comprises facets
detailed by categories. The different facets are com-
bined to answer specific research questions. The re-
sults include frequencies of publications for each cat-
egory within this scheme. The systematic literature
review focuses on a deeper analysis of the publica-
tions and can have other goals (Brocke et al., 2009).
Petersen et al. (2008) argue that both methods can be
applied complementary. Thus, we used the mapping
study to gain an overview of the field and investigated
specific questions using detailed reviews.
The major contributions of this state-of-the-art re-
port in 3D software visualization are answers to the
following questions:
Venue: Where were papers about 3D software vi-
sualization published?
Aspect: Which aspects of software are visualized?
Evolution: How did the topic evolve over the last
22 years?
Evaluation: How was the usefulness of the 3D
software visualizations evaluated?
Application: How was the third dimension used?
On the basis of these answers trends were revealed
and research gaps identified.
2 RELATED WORK
Important prior work ranges from meta-studies and
surveys to literature reviews as well as a mapping
study in the field of software visualization.
Hundhausen conducted two meta-studies, one
about software visualization effectiveness (Hund-
hausen, 1996) and one about algorithm visualization
effectiveness (Hundhausen et al., 2002). The classifi-
cation of the evaluation methods into anecdotal, ana-
lytic, and empirical is taken from these studies.
Graˇ
canin et al. (2005) provide a general overview
over software visualization outlining several research
directions, such as (distributed) virtual environments
and visualization metaphors. Teyseyre and Campo
(2009) give a comprehensive overview over 3D soft-
ware visualization including visual representations,
interaction issues, evaluation methods, and develop-
ment tools. Caserta and Zendra (2011) focus on static
aspects of software visualization in 2D and 3D. We
used all three surveys as a starting point for the back-
ward search to find relevant papers not covered by the
selected workshops and conferences in our primary
studies.
Kienle and Müller (2007) identified quality at-
tributes and functional requirements for software vi-
sualization tools to support researchers using a liter-
ature review. Schots and Werner (2014) examined
software visualizations with regard to reuse based on
the task oriented taxonomy from Maletic et al. (2002).
The complete review can be found here (Schots et al.,
2014). Seriai et al. (2014) investigated the state-of-
the-art in validation of software visualization tools
with a mapping study. The primary categories of the
evaluation method facet are taken from this study.
The main difference to our study is the focus: we
concentrate on 3D software visualizations including
all aspects, such as structure, behavior, and evolution.
In this context, we investigate publication locations,
evaluation methods, the development of this specific
field over time, as well as the application of the third
dimension.
3 METHOD
For this study, a hybrid approach was applied combin-
ing a systematic mapping study (Petersen et al., 2008)
with a systematic literature review (Brocke et al.,
2009). First, a mapping study was performed to get an
overview and to answer the first four research ques-
tions. Second, a detailed literature review was con-
ducted to answer the fifth research question. Finally,
the results of both processes are summarized in the
findings. The complete process is depicted in Figure
1. Its steps will be described in the subsequent sec-
tions.
3.1 Define Scope & Research Questions
We describe the scope of this study according to
Cooper’s taxonomy of literature reviews (Cooper,
1988). The focus lies on applications of 3D
software visualizations. Our goal is to inte-
grate findings from publications of different work-
shops/conferences/journals to create a comprehensive
view of this topic. The study is organized conceptu-
ally guided by a classification scheme. Further, we
adopt a neutral perspective. The main audience are
specialized scholars from the fields of information vi-
sualization and software visualization. The coverage
is aimed to be representative as we combine man-
ual browsing through relevant workshop and confer-
ence proceedings, a keyword search, and a backward
search starting with state-of-the-art-papers.
With this study, we want to investigate the follow-
ing research questions:
RQ1: Which workshops/conferences/journals in-
clude papers on 3D software visualization?
RQ2: Which aspects of software (structure, be-
havior, evolution) are visualized with 3D?
RQ3: How did 3D software visualization evolve
over the last 22 years and what are current trends?
RQ4: How is the usefulness of the proposed 3D
software visualizations evaluated?
RQ5: How is the third dimension used?
3.2 Conceptualize Topic
For the classification scheme, a top-down and bottom-
up approach were applied. We started with estab-
lished definitions from literature for the classifica-
tion of the relevant papers. If a paper introduces a
new category, the corresponding facet in the classifi-
cation scheme was extended. In this study, the fol-
lowing facets are important: dimensionality,aspect,
year,evaluation method, and application of the third
dimension. The categories for each facet are summa-
rized in Table 1 and described next.
3.2.1 Dimensionality
We differentiate between 2D, combined 2D and 3D,
and 3D software visualizations. For this study, the last
two categories are focused.
^LJƐƚĞŵĂƚŝĐ>ŝƚĞƌĂƚƵƌĞZĞǀŝĞǁ
^LJƐƚĞŵĂƚŝĐDĂƉƉŝŶŐ^ƚƵĚLJ
ĞĨŝŶĞ^ĐŽƉĞΘ
ZĞƐĞĂƌĐŚYƵĞƐƚŝŽŶƐ
ZĞǀŝĞǁ^ĐŽƉĞ ůĂƐƐŝĨŝĐĂƚŝŽŶ
^ĐŚĞŵĞ
ŽŶĐĞƉƚƵĂůŝnjĞ
dŽƉŝĐ
ŽŶĚƵĐƚ
^ĞĂƌĐŚ
^ĐƌĞĞŶΘůĂƐƐŝĨLJ
WĂƉĞƌƐ
ZĞůĞǀĂŶƚ
WĂƉĞƌƐ
ůůWĂƉĞƌƐ
džƚƌĂĐƚΘDĂƉ
ĂƚĂ
^LJƐƚĞŵĂƚŝĐ
DĂƉƐ &ŝŶĚŝŶŐƐ
^ƵŵŵĂƌŝnjĞ
&ŝŶĚŝŶŐƐ
ŶĂůLJnjĞΘ
^LJŶƚŚĞƐŝnjĞWĂƉĞƌƐ
Figure 1: Process model for hybrid approach: Mapping study (Petersen et al., 2008) and literature review (Brocke et al.,
2009).
3.2.2 Aspect
The different aspects of software that can be visu-
alized are based on Diehl (2007). He defines soft-
ware visualization as "[...] the visualization of ar-
tifacts related to software and its development pro-
cess.". These artifacts can contain information about
the structure, the behavior, or the evolution of the
software system. Structure includes program code,
data structures, the static call graph, relations, and the
organization of the software system. Behavior covers
its execution with real and abstract data. Evolution
refers to its development process.
Table 1: Classification scheme for the study.
Facet Category
Dimensionality 2D and 3D
3D
Aspect
Structure
Behavior
Evolution
Year 1991—2013
Evaluation
Anecdotal Case Study (Example)
Empirical
Case Study (User)
Controlled Experiment
Method Questionnaire
Analytic Guideline Checking
Heuristic Evaluation
Application
Extended 2D
Full 3D
2D layout org. in 3D
3D as time
Stacked views
3D for cognition
Local fish-eye
3.2.3 Year
The years for the relevant papers range from 1991 un-
til 2013. This period results from the search strategies
described in Section 3.3.
3.2.4 Evaluation Method
Typical evaluation methods in software visualization
are case study,controlled experiment, and question-
naire (Sjøberg et al., 2007; Seriai et al., 2014). How-
ever, the term case study is used in two different ways
in software visualization. On the one hand, a case
study is the demonstration of a working example as
in (Wettel and Lanza, 2008). This type of case study
is without representative users. On the other hand,
a case study actually involves representative users as
in (Denford et al., 2002). The second type also in-
cludes explorative user studies as in (Lanza et al.,
2013). Thus, we differentiate between case study (ex-
ample) and case study (user). In addition, we found
guideline checking and heuristic evaluation described
in (Andrews, 2008). All methods can further be clas-
sified into anecdotal, empirical, and analytic evalua-
tion methods (Hundhausen, 1996; Hundhausen et al.,
2002). Anecdotal methods use compelling examples,
empirical methods involve representative users, and
analytic methods are performed by evaluation experts
using guidelines or heuristics.
3.2.5 Application of the third dimension
Reiss (1995) identified six different categories for the
application of the third dimension. As there were pa-
pers not fitting in any of these categories, we intro-
duced another one resulting in the following seven
categories.
1. Extended 2D: A 2D layout is extended to 3D re-
sulting in an additional dimension. This dimen-
sion can be used to display further information,
such as software metrics as done in sv3D (Mar-
cus et al., 2003) or CodeCity (Wettel and Lanza,
2007).
2. Local fish-eye: Another technique builds upon a
2D layout where the user is able to select a set of
nodes and place them at the front. This technique
uses perspective to make the selected nodes ap-
pear bigger and the other ones smaller. It results
in local fish-eye views without changing the orig-
inal graph such as in rubber sheet (Sarkar et al.,
1993).
3. 2D layout organized in 3D: The third technique
takes a 2D layout and the information is organized
in a 3D space, such as with cone and cam trees
(Robertson et al., 1991) or with hyperbolic trees
(Munzner, 1997). It is usually applied to get more
space and to minimize edge-crossings. Two other
examples for this category are the perspective wall
(Mackinlay et al., 1991) and the ‘code on the wall’
metaphor (Jackson et al., 2002).
4. Full 3D: The next technique moves from 2D to 3D
space and uses the full capabilities of three dimen-
sions. Examples are Angle (Churcher and Tech,
2003), Metaballs (Rilling and Mudur, 2005), and
the 3D scatter plot in ComVis (Bohner et al.,
2007).
5. 3D as time: Further, the third dimension is used
to represent time, such as in VRCS (Koike and
Chu, 1998), Vizz3D (Löwe and Panas, 2005), or
Palantír (Ripley et al., 2007).
6. Stacked views: This technique uses the third di-
mension to display several 2D views simultane-
ously. Examples are 3D sequence diagram as in
(Gil and Kent, 1998) and GEF3D (von Pilgrim
and Duske, 2008).
7. 3D for cognition: Finally, 3D shapes are applied
to support the mental model and to optimize the
cognition of the visualization. Examples for this
category are Geons (Irani and Ware, 2003) and the
use of social agents to visualize software scenar-
ios (Alspaugh et al., 2006).
3.3 Conduct Search
We combined three search methods in order to make
the sample more representative. First, we browsed
manually through all publications from relevant
workshops and conferences in the field of software
visualization including SoftVis (2003, 2005, 2006,
2008, 2010), VisSoft (2002, 2003, 2005, 2007, 2009,
2011, 2013), IWPC/ICPC (1998-2013), Dagstuhl
Seminar on Software Visualization (2001), OOPSLA
Workshop on Software Visualization (2001), and
ICSE Workshop on Software Visualization (2001).
Second, we performed a keyword search on pub-
lications of relevant workshops and conferences in
the field of information visualization including IEEE
VIS (2000-2013), PacificVis (2008-2013), and Euro-
Vis (2007-2013). The keyword was "software visu-
alization". Third, we conducted a backward search
using three state-of-the-art papers related to 3D soft-
ware visualization: Graˇ
canin et al. (2005), Teyseyre
and Campo (2009), and Caserta and Zendra (2011).
3.4 Screen & Classify Papers
The screening process for each paper included ti-
tle, abstract, conclusion, and—if necessary—further
parts. We used the following inclusion and exclusion
criteria to select the relevant papers. The publication
is included, if
it deals with single 2D and 3D or 3D software vi-
sualizations (this automatically excludes surveys),
it is peer reviewed including full papers, short
papers, and posters (this automatically excludes
books, book chapters, technical or research re-
ports, or white papers), and
it is written in English1.
The publication is excluded, if
the third dimension only serves aesthetic pur-
poses, i.e., augmented 2D visualizations (Stasko
and Wehrli, 1993), and
it does not deal with software visualization, e.g.,
network visualization (hardware) or security.
In addition, we classified all relevant papers ac-
cording to the categories of the classification scheme.
If the classification of a paper was not unique, it was
marked, discussed by the authors, and finally included
and classified or excluded. For this reason, this step
has an iterative character. We used the reference man-
agement software Mendeley for screening and clas-
sifying the papers. The provided XML export was
helpful for further data processing.
3.5 Extract & Map Data
Major results of systematic mapping studies are fre-
quency/pie charts and bubble plots. Frequency/pie
charts show the distribution of a variable in an ab-
solute or relative manner. Bubble plots resemble x-
y scatter plots but with bubbles in category intersec-
tions where the size of a bubble represents frequencies
1One paper was written in Italian, a language none of
the authors is fluent in.
Table 2: Results for the three search strategies.
Manual Keyword Backw. Sum
Total 878 2998 510 4386
Dupl. 0 0 146 146
Other 405 2984 220 3609
2D 393 10 73 476
3D 80 4 71 155
of publications. We used Excel for data management
and the creation of the frequency/pie charts and bub-
ble plots or systematic maps respectively.
3.6 Analyze & Synthesize Papers
To get an overview of the application of the third di-
mension in software visualization, it was necessary
to conduct a more detailed analysis of the relevant
papers. This went beyond the screening process de-
scribed above. We had to study further parts of the
paper, especially sections explaining the concepts and
their implementation and the provided figures. The
results of this deeper review are also presented in a
systematic map.
3.7 Summarize Findings
Based on the results including frequency/pie charts
and the systematic maps, we deduced findings includ-
ing trends and research gaps in 3D software visual-
ization. Trends can be detected by analyzing the evo-
lution of the topic over time. Small bubbles in the
maps highlight research areas that might be under-
researched.
4 RESULTS
Table 2 shows the amount of papers identified with
each search strategy and Figure 2 details these results
with a Venn diagram.
Overall, 4386 papers were found, manually (878),
using a keyword search (2998), or using references
in surveys (510). From these, 146 papers were du-
plicates in the backward search which yields a total
of 4240 unique papers to be examined. From these,
631 papers deal with software visualization and 155
(24.6%) with 2D & 3D (41, 26.0%) or 3D only (114,
74.0%) software visualization. These were published
as full papers (116, 74.8%), short papers (17, 11.0%),
and posters (22, 14.2%). These 155 papers are the
input to the steps ‘extract & map data’ as well as ‘an-
alyze & synthesize papers’ and thus the basis for an-
swering the research questions.
Figure 2: Results for the three search strategies as a Venn
diagram.
4.1 RQ1: Which
workshops/conferences/journals
include papers on 3D software
visualization?
Figure 3 shows all workshops, conferences, and jour-
nals including papers with 3D software visualization
that were found using the method described in Section
3. We observed, that most of the 3D software visual-
ization papers were published on VisSoft (6 events, 30
papers before 2012) and SoftVis (5 events, 24 papers).
Figure 3: Workshops, conferences, and journals with 3D
software visualizations.
After SoftVis and VisSoft merged in 2013, 6 papers
were published on the new VisSoft 2013. Further,
4 papers emerged from the precursor of SoftVis, the
Dagstuhl 2001 event. Altogether, 64 papers (41.29%)
containing 3D software visualization were published
on the main events.
An additional 15 papers were presented on
IWPC/ICPC (16 events). On the main visualization
conferences, a total of 9 papers are related to 3D
software visualization (InfoVis: 7, EuroVis: 1, Paci-
ficVis: 0, related conferences/workshops: 1). For the
software engineering related conferences, the count
is 10 papers (ICSE: 5, WCRE: 4, SE: 1, OOPSLA:
1). Overall, these conferences contributed 34 papers
(21.94%) to our study. 40 other venues added 57 pa-
pers (36.77%), with at most 4 additional papers per
venue.
4.2 RQ2: Which aspects of software
visualization (structure, behavior,
evolution) are visualized with 3D?
Figure 4 shows the distribution of the different aspects
displayed using 3D software visualization. From the
155 papers analyzed, 67 (43.2%) visualize structure
alone, 54 (34.8%) structure and behavior, 18 (11.6%)
structure and evolution, 6 (3.9%) structure and be-
havior and evolution, 5 (3.2%) behavior alone, and 5
(3.2%) evolution alone. That means, that 145 papers
(93.5%) deal with structure alone or in combination
with behavior and/or evolution. No 3D visualization
was proposed for a combination of behavior and evo-
lution without the aspect of structure.
Figure 4: Aspect displayed using 3D software visualiza-
tions.
4.3 RQ3: How did 3D software
visualization evolve over the last 22
years and what are current trends?
Figures 5 and 6 show the evolution of 3D software vi-
sualizations from 1991 until 2013. Few papers were
found dealing explicitly with 3D software visualiza-
tion before 2001. Overall, 30 papers were published
between 1991 and 2000, between 1 and 6 papers per
year. All papers include structural aspects.
Between 2001 and 2008, 10 papers or more were
published each year on 3D software visualization,
with an exception of 2006, when only 6 papers ad-
dress this topic. Overall, from 2001 until 2008 two
thirds (67.7%) of the found papers were published.
Between 2009 and 2013, less papers were published
on this topic per year—between no papers in 2012
and eight papers in 2013. Overall, between 2001 and
2013, 126 papers dealing with 3D software visualiza-
tion were published. Most papers address structure
(56, 36.1%) or a combination of structure and behav-
ior (40, 25.8%), structure and evolution (13, 8.4%),
and structure, behavior, and evolution (6, 3.9%). Be-
havior alone (5, 3.2%) and evolution alone (5, 3.2%)
are rarely considered. It is remarkable, that the or-
der of the different aspects or combinations of aspects
regarding the amount of papers published stays the
same, independently of the year or the amount of pa-
pers published with only few exceptions: in 1994,
1995, and 1996 only papers combining structure and
behavior were published, structure and evolution (2)
is ranked first in 1997 before structure alone (1) and
structure and behavior (1), structure and behavior (7)
is ranked first in 2001 before structure alone, structure
and evolution (4) is ranked first together with struc-
ture alone (4) in 2008 before structure and behavior
(3), and finally structure and behavior (3) is ranked
first in 2013 before structure alone (2), structure, be-
havior, and evolution (2), and structure and evolution
(1). However, the amount of papers including 3D
software visualization is already small for each year.
4.4 RQ4: How is the usefulness of the
proposed 3D software visualizations
evaluated?
Figure 7 shows the different aspects of 3D software
visualization and their evaluation methods. Some 3D
software visualizations were evaluated using several
different evaluation methods. Therefore, the total
count is larger than the total number of papers ana-
lyzed.
Figure 5: Time vs. aspect for 3D software visualizations (1991-2000).
Figure 6: Time vs. aspect for 3D software visualizations (2001-2013).
The different aspects or combinations of aspects
were mostly evaluated using case studies showing
working examples (89, 53.3%) or not evaluated at
all (27, 16.2%). Some 3D visualizations were eval-
uated using case studies that involve representative
users (19, 11.4%). Few 3D visualizations were eval-
uated using controlled experiments (15, 9.0%). Other
evaluation methods used were guideline checking (10,
6.0%), questionnaires (7, 4.2%), and heuristic evalu-
ations (2, 1.2%).
With respect to the combination of aspect and
evaluation method, the bubble chart does not exhibit
any particularities. As most numbers are small, the
difference in ratios does not provide evidence for re-
lationships.
4.5 RQ5: How is the third dimension
used?
Figure 8 shows the different aspects of 3D software
visualization and their application of the third dimen-
sion. As a paper might contain multiple visualizations
or a visualization might belong to different categories
at the same time, the sum is larger than the number of
papers.
Figure 7: Evaluation methods vs. aspect for 3D software visualizations.
Figure 8: Application of the third dimension vs. aspect for 3D software visualizations.
Most papers extended 2D visualizations (76,
39.4%), followed by full 3D (47, 24.4%), 2D layout
organized in 3D (31, 8.8%), 3D as time (17, 8.8%),
and stacked views (11, 5.7%). Another 11 papers
(5.7%) apply 3D for cognition only, while local fish-
eye is not applied at all. The latter two will not be
considered for the remaining analysis.
3D is applied for structure alone using extended
2D (30), full 3D (22), and 2D layout organized in 3D
(14). Further, extended 2D and full 3D are used for
all aspects and all combinations of aspects. 2D layout
organized in 3D is used for all aspects except struc-
ture and evolution. In contrast, 3D as time is mostly
used for structure and behavior (9), while only few
paper use it for structure and evolution (3), structure,
behavior, and evolution (2), behavior alone (2), and
evolution alone (1). Finally, stacked views are only
used for structure and behavior (8) and structure and
evolution (3). Neither 3D as time nor stacked views
are used for structure alone.
Figure 9: Number of 2D & 3D or 3D publications over time.
5 FINDINGS
Most papers dealing with 3D software visualization
were published on the major software visualization
conferences and workshops VisSoft (workshop until
2011), SoftVis (conference until 2010), and VisSoft
conference (since 2013). A substantial amount of pa-
pers was also published at IWPC/ICPC and InfoVis.
However, more than one third of the papers was pub-
lished on 45 different venues.
An important functional requirement of a soft-
ware visualization tool are multiple views (Kienle and
Müller, 2007). These multiple views provide a holis-
tic view of a software system combining structure,
behavior, and/or evolution and thus facilitate program
comprehension. The majority of 3D visualizations fo-
cus on structure, either alone (67, 43.2%) or in combi-
nation with behavior or evolution (72, 46.4%). Struc-
ture plays an important role in software visualization,
as one main objective is to give the formerly intangi-
ble and invisible phenomenon software a meaningful
shape (Graˇ
canin et al., 2005). For the structural enti-
ties, such as namespaces/packages, classes, methods,
as well as attributes, and their relations suitable rep-
resentations are developed. The combination of these
representations form the basic shape of a visualiza-
tion that is usually enriched with behavioral or evo-
lutionary information. However, the combination of
all three aspects is rare in the analyzed 3D software
visualizations (6, 3.9%). One reason for this might be
the complexity such an approach requires. It is nec-
essary to combine structural information with a large
amount of data from execution traces and from ver-
sion control systems. This might be interpreted as a
serious deficit of prototype implementations and as a
research gap as well.
The temporal analysis of the sample reveals that
researchers started in 1991 to scrutinize the visu-
alization of structure of software in 3D. One year
later, behavioral aspects, and six years later evolu-
tionary aspects, were also examined. Before 2001,
there was no 3D software visualization covering all
three aspects or behavior or evolution alone. In 2001,
the field of software visualization started to establish
with first tracks on software engineering conferences
and the Dagstuhl seminar. Since 2002, first confer-
ences exclusively on software visualization have been
launched. These events have influenced the further
evolution of this area. For example, the fluctuations
of the number of 3D publications depend on the dates
of the main conferences. In 2005, there was the high-
est number of publications (20) probably because Vis-
Soft and SoftVis took place at the same time. In 2012,
there was no publication and obviously none of these
two events took place. Additionally, it was found that
there was a trend to develop more 3D visualizations
between 2001 and 2008 (67.7% of the papers found)
with its peak around 2005 (Figure 9). The trend since
then has to be analyzed taking into account that the
3D survey of Teyseyre and Campo (2009) appeared
in 2009. Thus, only the main conferences or work-
shops contribute to the amount of 3D software sys-
tems while other venues are not represented. Fur-
ther, 2012 no event dedicated to software visualiza-
tion took place. Further analysis will show, if there is
a trend to continue developing 3D software visualiza-
tions.
The applied evaluation methods are distributed
as follows: anecdotal (53%), empirical (24%),
and analytical (7%). Further, a large number of
visualizations does not have any evaluation at all
(16%). This is not surprising as no evaluation
at all means least effort, while anecdotal evidence
can be provided with some effort. Empirical stud-
ies, on the other hand, imply a large effort for plan-
ning, execution, and analysis. At the same time, the
target group—experienced software developers—are
not readily available for experiments. Finally, most
visualizations are already built taking guidelines into
account. Therefore, guideline checking will rarely
provide any benefits. In summary, the formerly stated
need for more empirical evaluations of 3D software
visualizations by Teyseyre and Campo (2009) still ex-
ists.
The most frequently used category for the applica-
tion of the third dimension is extending a 2D visual-
ization (76, 39.4%). The resulting additional dimen-
sion is used for example to represent software metrics,
such as LOC (Boccuzzo and Gall, 2007; Alam and
Dugerdil, 2007; Wettel and Lanza, 2007; Kuhn et al.,
2010), complexity (Sharif and Jetty, 2013; Balogh
and Beszedes, 2013), or the number of modifications
(Steinbrückner and Lewerentz, 2010), for relations
(Balzer et al., 2004; Caserta et al., 2011), as well as
for instances (Greevy et al., 2005; Waller et al., 2013).
In some cases, the use of this dimension is config-
urable by the user (Marcus et al., 2003; Löwe and
Panas, 2005).
In the next two categories—full 3D (47, 24.4%)
and 2D layout organized in 3D (31, 16.1%)—the ad-
vantage of 3D lies in the additional space that is avail-
able to represent solid 3D shapes or to optimize the
layout, e.g., to avoid edge-crossings in graphs. The
categories 3D as time (17, 8.8%) and stacked views
(11, 5.7%) are exclusively used in visualizations con-
taining behavioral and/or evolutionary information.
Hence, these two categories are suitable for represent-
ing dynamics.
Finally, 3D is used for cognition (11, 5.7%). Irani
and Ware (2003) compared 2D UML diagrams and
3D geon diagrams in several experiments. They found
out that substructures can be identified more accu-
rately with shaded components than with 2D outline
equivalents and that they are remembered more reli-
ably. Here, the third dimension does not convey ad-
ditional information but it facilitates the perception of
the human visual system.
To sum it up, it could be helpful to start with a
basic 2D shape visualizing the structure of a software
system. Further, this basic shape is extended with be-
havioral and evolutionary aspects using one or a com-
bination of the identified applications of the third di-
mension. That is, a useful software visualization is
not necessarily limited to 3D. Rather, the optimal in-
terplay between 2D and 3D may be the clue to the
successful integration of all three aspects.
6 THREATS TO VALIDITY
6.1 Reliability
We have described our method in detail and men-
tioned all sources in order to make this study repeat-
able.
6.2 Objectivity
The researcher bias mainly influences the selection
and the classification of papers.
6.2.1 Selection of Papers
We increased the representative quality of the study
by triangulating three different search methods. We
started with manual browsing of the proceedings of
the main software visualization events, continued
with a keyword search of important information visu-
alization conferences, and finished with a backward
search using state-of-the-art surveys in the field of
software visualization.
6.2.2 Classification of Papers
Each paper whose classification was not clear, was
marked as ‘needs review’ and thoroughly discussed.
Overall, there were three iterations in the ‘screen &
classify’ step with altogether 60 discussable papers.
6.3 Internal and External Validity
We addressed the internal validity of our study by
starting with a top-down approach to built the clas-
sification scheme. Thus, we used an established base
for the categories. We have tried to increase the exter-
nal validity by increasing the representative level of
the sample as described in Section 6.2.1.
7 CONCLUSION
We performed a systematic literature analysis using a
hybrid approach that combined a systematic mapping
study followed by a systematic literature review. The
research questions addressed where papers about 3D
software visualization were published, which aspects
were visualized, how the topic evolved over the last
22 years, how the usefulness of the 3D software visu-
alizations was evaluated, and how the third dimension
was used.
The results show that the aspect ‘structure’, the
evaluation method ‘case study (example)’, and the ap-
plication of the third dimension ‘extended 2D’ are
dominant. The combination of ‘structure’ with ‘be-
havior’ or ‘evolution’ was also found relatively often.
Although, the combination of all three aspects in
one software visualization tool providing a holistic
view is complex and challenging to implement, we
see therein a research gap for the future.
The need for more empirical evaluations of 3D
software visualizations stated earlier still exists and
should be addressed in future work.
Finally, the third dimension is mainly used to rep-
resent software metrics. Other successful applications
are to use the additional space for solid 3D shapes and
for an optimized layout, to represent time, and to am-
plify cognition. Probably, the optimal interplay be-
tween 2D and 3D views plays an important role in the
future.
REFERENCES
Alam, S. and Dugerdil, P. (2007). EvoSpaces Visualization
Tool: Exploring Software Architecture in 3D. In 14th
Work. Conf. Reverse Eng., pages 269–270.
Alspaugh, T. A., Tomlinson, B., and Baumer, E. (2006).
Using social agents to visualize software scenarios. In
Proc. 2006 ACM Symp. Softw. Vis., pages 87–94, New
York, New York, USA. ACM Press.
Andrews, K. (2008). Evaluation comes in many guises. In
Proc. 2008 AVI Work. BEyond time errors Nov. Eval.
methods Inf. Vis., pages 8–10.
Balogh, G. and Beszedes, A. (2013). CodeMetropolis - a
Minecraft based collaboration tool for developers. In
1st IEEE Work. Conf. Softw. Vis., pages 1–4.
Balzer, M., Noack, A., Deussen, O., and Lewerentz, C.
(2004). Software landscapes: Visualizing the struc-
ture of large software systems. In Proc. Sixth Jt. Eu-
rographics - IEEE TCVG Conf. Vis., pages 261–266.
Eurographics Association.
Boccuzzo, S. and Gall, H. (2007). CocoViz: Towards Cog-
nitive Software Visualizations. In 4th Int. Work. Vis.
Softw. Underst. Anal., pages 72–79. IEEE.
Bohner, S. A., Gracanin, D., Henry, T., and Matkovic, K.
(2007). Evolutional Insights from UML and Source
Code Versions using Information Visualization and
Visual Analysis. In 4th Int. Work. Vis. Softw. Underst.
Anal., pages 145–148.
Brocke, J. V., Simons, A., and Niehaves, B. (2009). Re-
constructing the giant: On the importance of rigour
in documenting the literature search process. In 17th
Eur. Conf. Inf. Syst., pages 1–13.
Caserta, P. and Zendra, O. (2011). Visualization of the
Static Aspects of Software: A Survey. IEEE Trans.
Vis. Comput. Graph., 17(7):913–933.
Caserta, P., Zendra, O., and Bodénes, D. (2011). 3D Hierar-
chical Edge bundles to visualize relations in a software
city metaphor. In 6th Int. Work. Vis. Softw. Underst.
Anal.
Churcher, N. and Tech, V. (2003). Visualising Class Cohe-
sion with Virtual Worlds. In Proc. Asia-Pacific Symp.
Informattion Vis.
Cooper, H. M. (1988). Organizing knowledge synthe-
ses: A taxonomy of literature reviews. Knowl. Soc.,
1(1):104–126.
Denford, M., O’Neill, T., and Leaney, J. (2002).
Architecture-based Visualisation of Computer Based
Systems. 9th Annu. IEEE Int. Conf. Work. Eng. Com-
put. Syst., pages 139–146.
Diehl, S. (2007). Software visualization: visualizing
the structure, behaviour, and evolution of software.
Springer.
Gil, J. and Kent, S. (1998). Three dimensional software
modelling. In 20th IEEE Int. Conf. Softw. Eng., pages
105–114.
Graˇ
canin, D., Matkovi´
c, K., and Eltoweissy, M. (2005).
Software Visualization. Innov. Syst. Softw. Eng.,
1(2):221–230.
Greevy, O., Lanza, M., and Wysseier, C. (2005). Visualiz-
ing Feature Interaction in 3-D. In 3rd Int. Work. Vis.
Softw. Underst. Anal., pages 114–119. IEEE.
Hundhausen, C. D. (1996). A meta-study of software visu-
alization effectiveness.
Hundhausen, C. D., Douglas, S. A., and Stasko, J. T. (2002).
A Meta-Study of Algorithm Visualization Effective-
ness. J. Vis. Lang. Comput., 13(3):259–290.
Irani, P. and Ware, C. (2003). Diagramming information
structures using 3D perceptual primitives. ACM Trans.
Comput. Interact., 10(1):1–19.
Jackson, S., Devanbu, P., and Ma, K.-l. (2002). Interactive
Poster: Addressing Scale and Context in Source Code
Visualization. In InfoVis.
Kienle, H. M. and Müller, H. A. (2007). Requirements of
Software Visualization Tools: A Literature Survey. In
4th Int. Work. Vis. Softw. Underst. Anal., pages 2–9.
IEEE.
Koike, H. and Chu, H.-C. (1998). How does 3-D visu-
alization work in software engineering?: empirical
study of a 3-D version/module visualization system.
In Proc. 20th Int. Conf. Softw. Eng., pages 516–519.
IEEE Computer Society.
Kuhn, A., Erni, D., and Nierstrasz, O. (2010). Embed-
ding spatial software visualization in the IDE: an ex-
ploratory study. In Proc. 5th Int. Symp. Softw. Vis.,
pages 113–122, New York, USA. ACM Press.
Lanza, M., D’Ambros, M., Bacchelli, A., Hattori, L., and
Rigotti, F. (2013). Manhattan: Supporting real-time
visual team activity awareness. In 21st Int. Conf.
Progr. Compr., pages 207–210.
Löwe, W. and Panas, T. (2005). Rapid construction of soft-
ware comprehension tools. Int. J. Softw. Eng. Knowl.
Eng., 15(6):905–1023.
Mackinlay, J., Robertson, G., and Card, S. (1991). The
perspective wall: Detail and context smoothly inte-
grated. In ACM Conf. Hum. Factors Comput. Syst.,
pages 173–179.
Maletic, J., Marcus, A., and Collard, M. (2002). A task ori-
ented view of software visualization. In 1st Int. Work.
Vis. Softw. Underst. Anal., pages 32–40. IEEE Com-
put. Soc.
Marcus, A., Feng, L., and Maletic, J. (2003). Compre-
hension of software analysis data using 3D visualiza-
tion. In 11th Int. Work. Progr. Compr., page 105. IEEE
Computer Society.
Munzner, T. (1997). H3: laying out large directed graphs in
3D hyperbolic space. In Vis. Conf. Inf. Vis. Symp. Par-
allel Render. Symp., pages 2–10. IEEE Comput. Soc.
Petersen, K., Feldt, R., Mujtaba, S., and Mattsson, M.
(2008). Systematic mapping studies in software engi-
neering. In Proc. 12th Int. Conf. Eval. Assess. Softw.
Eng., pages 68–77. British Computer Society.
Reiss, S. P. (1995). An Engine for the 3D Visualiza-
tion of Program Information. J. Vis. Lang. Comput.,
6(3):299–323.
Rilling, J. and Mudur, S. (2005). 3D visualization tech-
niques to support slicing-based program comprehen-
sion. Comput. Graph., 29(3):311–329.
Ripley, R. M., Sarma, A., and van der Hoek, A. (2007).
A Visualization for Software Project Awareness and
Evolution. In 4th Int. Work. Vis. Softw. Underst. Anal.,
pages 137–144. IEEE.
Robertson, G., Mackinlay, J., and Card, S. (1991). Cone
trees: animated 3D visualizations of hierarchical in-
formation. In ACM SIGCHI Conf. Hum. Factors Com-
put. Syst., pages 189–194.
Sarkar, M., Snibbe, S. S., Tversky, O. J., and Reiss, S. P.
(1993). Stretching the Rubber Sheet: A Metaphor
for Viewing Large Layouts on Small Screens. In
6th Annu. ACM Symp. User Interface Softw. Technol.,
UIST ’93, pages 81–91, New York, NY, USA. ACM.
Schots, M., Vasconcelos, R., and Werner, C. (2014). A
Quasi-Systematic Review on Software Visualization
Approaches for Software Reuse. Technical report,
Federal University of Rio de Janeiro, Rio de Janeiro,
Brazil.
Schots, M. and Werner, C. (2014). Using a Task-Oriented
Framework for the Characterization of Visualization
Approaches. In 2nd IEEE Work. Conf. Softw. Vis.
Seriai, A., Benomar, O., Cerat, B., and Sahraoui, H. (2014).
Validation of Software Visualization Tools : A Sys-
tematic Mapping Study. In 2nd IEEE Work. Conf.
Softw. Vis.
Sharif, B. and Jetty, G. (2013). An Empirical Study Assess-
ing the Effect of SeeIT 3D on Comprehension. In 1st
IEEE Work. Conf. Softw. Vis.
Sjøberg, D. I. K., Dybå, T., and Jørgensen, M. (2007). The
Future of Empirical Methods in Software Engineering
Research. In Futur. Softw. Eng., pages 358–378. IEEE.
Stasko, J. and Wehrli, J. (1993). Three-dimensional com-
putation visualization. Proc. 1993 IEEE Symp. Vis.
Lang., pages 100–107.
Steinbrückner, F. and Lewerentz, C. (2010). Represent-
ing development history in software cities. In Proc.
5th Int. Symp. Softw. Vis., pages 193–202, New York,
USA. ACM Press.
Teyseyre, A. R. and Campo, M. R. (2009). An overview of
3D software visualization. IEEE Trans. Vis. Comput.
Graph., 15(1):87–105.
von Pilgrim, J. and Duske, K. (2008). Gef3D: a frame-
work for two-, two-and-a-half-, and three-dimensional
graphical editors. In Proc. 4th ACM Symp. Softw.
Vis., pages 95–104, New York, New York, USA. ACM
Press.
Waller, J., Wulf, C., Fittkau, F., Döhring, P., and Hassel-
bring, W. (2013). SynchroVis : 3D Visualization of
Monitoring Traces in the City Metaphor for Analyz-
ing Concurrency. In 1st IEEE Work. Conf. Softw. Vis.,
pages 7–10.
Wettel, R. and Lanza, M. (2007). Visualizing Software Sys-
tems as Cities. In 4th Int. Work. Vis. Softw. Underst.
Anal., pages 92–99. IEEE.
Wettel, R. and Lanza, M. (2008). Visually localizing de-
sign problems with disharmony maps. In Proc. 4th
ACM Symp. Softw. Vis., pages 155–164, New York,
New York, USA. ACM Press.
... Integration and coordination of 3 main parts, including 3D VE, LMS, and LRS, were necessary for the functionality of the whole system. Technical suitability, wide platform support (iOS, Android, Windows, Linux, and web), large user database, effective support, and favorable licensing conditions are the parameters for selection of a 3D VE in an educational simulation project [16][17][18][19]. Among the criteria mentioned above, technical suitability deserves a more detailed explanation and covers all possible technical requirements specific to the implementation of a 3D education and simulation app integrated with an LMS. ...
... This consideration arises because modern VEs are not strictly limited to visualization anymore. Essentially, they are contained within larger frameworks which provide the functionality required for developing entire apps [16][17][18][19]. In general, currently available engines have been designed, first and foremost, with the needs of game developers in mind [20]. ...
Article
Full-text available
Background Serious games enrich simulation-based health care trainings and improve knowledge, skills, and self-confidence of learners while entertaining them. Objective A platform which can combine performance data from a basic life support (BLS) serious game app and hands-on data based on the same scoring system is not available in the market. The aim of this study was to create such a platform and investigate whether performance evaluation of BLS trainings would be more objective compared to conventional Objective Structured Clinical Examination (OSCE) examinations if these evaluations were carried out with the platform which combines OSCE scoring criteria with sensor data retrieved from the simulator’s sensors. Methods Participants were 25 volunteers (11 men [44.0%] and 14 [56.0] women) among Acıbadem Mehmet Ali Aydınlar University students without prior knowledge of the BLS protocol. A serious game module has been created for teaching learners the European Resuscitation Council Basic Life Support 2015 protocol. A second module called the hands-on module was designed for educators. This module includes a checklist used for BLS OSCE examinations and can retrieve sensor data such as compression depth, compression frequency, and ventilation volume from the manikin (CPR Lilly; 3B Scientific GmbH) via Bluetooth. Data retrieved from the sensors of the manikin enable educators to evaluate learners in a more objective way. Performance data retrieved from the serious gaming module have been combined with the results of the hands-on module. Data acquired from the hands-on module have also been compared with the results of conventional OSCE scores of the participants, which were obtained by watching the videos of the same trainings. Results Participants were considered successful in the game if they scored 80/100 or above. Overall, participants scored 80 or above in an average of 1.4 (SD 0.65) trials. The average BLS serious game score was 88.3/100 (SD 5.17) and hands-on average score was 70.7/100 (SD 17.3), whereas the OSCE average score was 84.4/100 (SD 12.9). There was no statistically significant correlation between success on trials (score ≥80/100), serious game, hands-on training app, and OSCE scores (Spearman rho test, P>.05). The mean BLS serious game score of the participants was 88.3/100 (SD 5.17), whereas their mean hands-on training app score was 70.7/100 (SD 17.3) and OSCE score was 84.4/100 (SD 12.9). Conclusions Although scoring criteria for OSCE and hands-on training app were identical, OSCE scores were 17% higher than hands-on training app scores. After analyzing the difference of scores between hands-on training app and OSCE, it has been revealed that these differences originate from scoring parameters such as compression depth, compression frequency, and ventilation volume. These data suggest that evaluation of BLS trainings would be more objective if these evaluations were carried out with the modality, which combines visual OSCE scoring criteria with sensor data retrieved from the simulator’s sensors. Trial Registration ClinicalTrials.gov NCT04533893; https://clinicaltrials.gov/ct2/show/NCT04533893
... We employed the previous framework to discuss common techniques and metaphors employed in each previously defined domains. We also discuss emergent and innovative techniques, such as those exploiting 3D animation or virtual reality, as two systematic studies have been published on these subjects [17], [27]. ...
... Caserta and Zendra [46] present the findings Conduct empirical studies to validate usefulness On existing visualizations, or the ones being developed, to add them values and speed up the integration process. Controlled experiment, unbiased subjects, quantitative measures [1]- [3], [7], [8], [10], [11], [21], [24], [26], [27], [30], [31], [33], [39], [41], [43], [44], [46], [47] 39.5% (19/48) ...
... For example (Munzner and Maguire, 2015; Ward et al., 2015; Telea, 2015 ) provide a synthesis view of the infovis field. Moreover, there have been several review (Müller and Zeckzer, 2015; Shahin et al., 2014; Sharafi, 2011), overview (Diehl, 2007; Teyseyre and Campo, 2009; Petre and Quincey, 2006), and survey (Ghanam and Carpendale, 2008; Caserta and Zendra, 2011 ) studies in the field of softvis . These either focus on sofvis as a whole or specific areas, such as software architecture visualisation (Shahin et al., 2014). ...
... Finally, step three consisted of manually analysing related work sections from the publications extracted in step one and step two in order to extract any further publications related to the code-map metaphor. (Munzner and Maguire, 2015) Book 2 (Ward et al., 2015) Book 1 (Telea, 2015) Book 1 (Diehl, 2007) Book 9 (Müller and Zeckzer, 2015) Review 1 (Shahin et al., 2014) Review 0 (Sharafi, 2011) Review 0 (Teyseyre and Campo, 2009) Overview 5 (Petre and Quincey, 2006) Overview 0 (Ghanam and Carpendale, 2008) Survey 1 (Caserta and Zendra, 2011) Survey 4 ...
Conference Paper
Full-text available
Software developers can use software visualisations employing the code-map metaphor to discover and correlate facts spread over a large code base. This work presents an extensive review of the use of the code-map metaphor for software visualisation. The review analyses a set of 29 publications, which together describe 21 software development tools that use visualisations employing the code-map metaphor. The review follows a task oriented framework to guide the analysis of the literature in terms of the task, audience, target, medium, representation, and evidence dimensions based on the code-map metaphor. Although the literature indicates that software visualisations based on the code-map metaphor are perceived by the research community to be helpful across all aspects of the software develop process, the main finding of our review is that there is a lack of quantitative evidence to support this perception. Thus, the effectiveness of visualisations incorporating the code-map metaphor is still unclear. The majority of the software visualisations analysed in this study, however , do provide qualitative observations regarding their usage in various scenarios. These are summarised and presented in this review as we believe the observations can be used as motivation for future empirical evaluations.
... To support programmers in understanding software architectureespecially of large projects-the visualization of software has become a useful tool [9]. Different visualization techniques have been used for this purpose, in two dimensional visualizations as well as in three dimensional ones [1,8]. Furthermore, 3D representations can be enhanced by using Virtual Reality (VR). ...
Conference Paper
To understand the development history of complex software architectures, software visualizations are very useful. They show dependencies and contexts in which design decisions were made, supporting programmers in understanding systems and helping them to recognize disadvantageous design decisions. IslandViz visualizes OSGi-based software architectures in Virtual Reality using an island metaphor; for now, the history of an architecture is not taken into account. We show how IslandViz can be extended to include changes on package and compilation unit level by changing the layout of islands. For this purpose we adapt the Enhanced Hexagon Tiling Algorithm and create growth corridors for each region of an island. As a result, island regions can change along with their respective packages without the possibility of being enclosed by other regions.
Conference Paper
In large software projects, it can be hard to understand the actual architecture of the implemented software systems if current design documents are outdated or do not exist at all. For systems based on the OSGi component specification, which are used to build quite large applications with back-end and front-end services, tools for visualizing the actual architecture can help to understand the system. We provide an interactive tool that visualizes OSGi-based systems with their components, packages, services, and dependencies in 3D using Virtual Reality headsets. It uses the metaphor of modular electronic systems. The tool allows software engineers, project managers, or clients to explore the architecture and get a first impression about component sizes and their dependencies.
Article
Full-text available
Science is a cumulative endeavour as new knowledge is often created in the process of interpreting and combining existing knowledge. This is why literature reviews have long played a decisive role in scholarship. The quality of literature reviews is particularly determined by the literature search process. As Sir Isaac Newton eminently put it: “If I can see further, it is because I am standing on the shoulders of giants.” Drawing on this metaphor, the goal of writing a literature review is to reconstruct the giant of accumulated knowledge in a specific domain. And in doing so, a literature search represents the fundamental first step that makes up the giant’s skeleton and largely determines its reconstruction in the subsequent literature analysis. In this paper, we argue that the process of searching the literature must be comprehensibly described. Only then can readers assess the exhaustiveness of the review and other scholars in the field can more confidently (re)use the results in their own research. We set out to explore the methodological rigour of literature review articles published in ten major information systems (IS) journals and show that many of these reviews do not thoroughly document the process of literature search. The results drawn from our analysis lead us to call for more rigour in documenting the literature search process and to present guidelines for crafting a literature review and search in the IS domain.
Conference Paper
Full-text available
The increasing code complexity in modern software systems exceeds the capabilities of most software engineers to understand the system's behavior by just looking at its program code. The addition of concurrency issues through the advent of multi-core processors in the consumer market further escalates this complexity. A solution to these problems is visualizing a model of the system to ease program comprehension. Especially for the comprehension of concurrency issues, static information is often not sufficient. For this purpose, profiling and monitoring can provide additional information on the actual behavior of a system. An established visualization approach is the 3D city metaphor. It utilizes the familiarity with navigating a city to improve program comprehension. In this paper, we present our trace-based SynchroVis 3D visualization approach for concurrency. It employs the city metaphor to visualize both static and dynamic properties of software systems with a focus on illustrating the concurrent behavior. To evaluate our approach, we provide an open source implementation of our concepts and present an exemplary dining philosophers scenario showing its feasibility.
Conference Paper
Full-text available
A study to assess the effect of SeeIT 3D, a software visualization tool is presented. Six different tasks in three different task categories are assessed in the context of a large open-source system. Ninety-seven subjects were recruited from three different universities to participate in the study. Two methods of data collection: traditional questionnaires and an eye-tracker were used. The main goal was to determine the impact and added benefit of SeeIT 3D while performing typical software tasks within the Eclipse IDE. Results indicate that SeeIT 3D performs significantly better in one task category namely overview tasks but takes significantly longer when completing bug fixing tasks. Scores obtained by the subjects in the SeeIT 3D group are 13% better and 45% faster for overview tasks.
Conference Paper
Software visualization as a research field focuses on the visualization of the structure, behavior, and evolution of software. It studies techniques and methods for graphically representing these different aspects of software. Interest in software visualization has grown in recent years, producing rapid advances in the diversity of research and in the scope of proposed techniques, and aiding the application experts who use these techniques to advance their own research. Despite the importance of evaluating software visualization research, there is little work studying validation methods. As a consequence, it is usually difficult producing compelling evidence about the effectiveness of software visualization contributions. The goal of this paper is to study the validation techniques performed in the software visualization literature. We conducted a systematic mapping study of validation methods in software visualization. We consider 752 articles from multiple sources, published between 2000 and 2012, and study the validation techniques of the software visualization articles. The main outcome of this study is the lack in rigor when validating software visualization tool and techniques. Although software visualization has grown in interest in the last decade, it still lacks the necessary maturity to be properly and thoroughly evaluating its claims. Most article evaluations studied in this paper are qualitative case studies, including discussions about the benefits of the proposed visualizations. The results help understand the needs in software visualization validation techniques. They identify the type of evaluations that should be performed to address this deficiency. The specific analysis of SOFTVIS series articles shows that the specialized conference suffers from the same shortage.
Conference Paper
Visualization approaches support stakeholders in a variety of tasks. However, they are spread in the literature and their information is usually not clearly organized, classified and categorized, which makes them hard to be found and used in practice. This paper presents the use of a task-oriented framework in the context of a characterization study of visualizations that provide support for software reuse tasks. Such framework was extended in order to capture more detailed information that may be useful for assessing the suitability of a particular visualization. Besides enabling a better organization of the findings, the use of the extended framework allows to identify aspects that lack more support, indicating opportunities for researchers on software reuse and software visualization.
Conference Paper
Collaboration is essential for the development of complex software systems. An important aspect of collaboration is team awareness: The understanding of the activity of others that provides a context for one's activity. We claim that the current IDE support for awareness is inadequate: The typical setting is to rely on software configuration management systems (SCMs), which are based on an explicit check-out/check-in model. If developers rely only on SCMs information, they become aware of concurrent changes only when they commit their code to the repository. This generates problems such as complex merging and redundant work. Most tools to raise awareness notify developers of emerging conflicts in the form of textual notifications. We propose to improve the notification by using real-time visualization integrated in the IDE to notify developers of team activity. Our approach, implemented in a tool called Manhattan, eases team activity comprehension by relying on a city metaphor. Manhattan depicts a software system as a live city that changes as the underlying system evolves. Within the city, Manhattan renders team activity information, updating developers in real-time about changes implemented by the entire development team. Further, Manhattan provides programmers with immediate feedback about emerging conflicts in which they are involved.
Conference Paper
Data visualisation with high expressive power plays an important role in code comprehension. Recent visualisation tools try to fulfill the expectations of the users and use various analogies. For example, in an architectural metaphor, each class is represented by a building. Buildings are grouped into districts according to the structure of the namespaces. We think that these unique ways of code representation have great potential, but in our opinion they use very simple graphical techniques (shapes, figures, low resolution) to visualise the structure of the source code. On the other hand, computer games use high quality graphic and have high expressive power. A good example is Minecraft, a popular role playing game that supports both high definition, photorealistic textures and long range 3D scene displaying. Additionally, it provides great extensibility and interactivity for third party software. In this paper, we introduce our mission to create a virtual world of source code in which developers and other stakeholders could explore and evaluate their project collaboratively in a virtual Minecraft world. Code properties are represented by graphical primitives offered by the game engine, and various interactivity features are planned. Besides challenges of the implementation there are some fundamental research issues considering the selection of a set of visual elements and mapping to source code properties. These elements have to be compatible not only with the visualisation and with the data model but also with the thinking of developers.
Article
As the information visualisation (infovis) community ma- tures, the evaluation of information visualisation techniques is becoming more of a requirement and less of an optional extra. Unfortunately, the term evaluation means dierent things to dierent people. Simply encouraging \evaluation" is too general and impre- cise. There is a need for clarication as to what kind of evalu- ation is expected at what stage. When reporting their work, authors should clearly distinguish between exploratory, pre- dictive, formative, and summative evaluation.
Article
We propose the metaphor of rubber sheet stretching for viewing large and complex layouts within small display areas. Imagine the original 2D layout on a rubber sheet. Users can select and enlarge different areas of the sheet by holding and stretching it with a set of special tools called handles. As the user stretches an area, a greater level of detail is displayed there. The technique has some additional desirable features such as areas specified as arbitrary closed polygons, multiple regions of interest, and uniform scaling inside the stretched regions.