Rapid Serial Visual Presentation in Dynamic Graph Visualization
Rapid Serial Visual Presentation in Dynamic Graph Visualization
Rapid Serial Visual Presentation in Dynamic Graph Visualization
Email: {michael.burch,corinna.vehlow,daniel.weiskopf}@visus.uni-stuttgart.de
AbstractRapid Serial Visual Presentation is an effective it might not be possible to find a good graph layout for each
approach for browsing and searching large amounts of data. By time step when trying to preserve the mental map. Moreover,
presenting subsequent images at high frequency, we utilize the the viewer may only keep track of the most recent changes
perceptual abilities of the human visual system to rapidly process
certain visual features. While this concept is successfully used in and cannot readily analyze longer sequences.
video and image browsing, we demonstrate how it can be applied In this paper, we introduce a dynamic graph visualization
to dynamic graph visualization. In this paper, we introduce a technique that is able to display time-varying graph datasets
visualization technique for time-varying graphs that is scalable in a scalable way, in the vertex and edge dimension, and
with respect to the number of time steps. The graph visualization
as the major contribution of this work, also in the time
is based on the Parallel Edge Splatting technique, which employs
a space-efficient display of a sequence of dynamically changing dimension. To this end, we combine the concepts of Paral-
graphs. To illustrate the usefulness of our approach we analyzed lel Edge Splatting [7] and Rapid Serial Visual Presentation
method call graphs recorded during the execution of the open (RSVP) [3], [37]. The representation of a set of graphs
source software system JHotDraw. Furthermore, we studied a based on Parallel Edge Splatting already creates scalable
time-varying social network representing researchers and their
and space-efficient graph diagrams in a static layout [7].
dynamic communication structure while attending the ACM
Hypertext 2009 conference. This work adds the following new contributions: Animating
the sequence of graphs by rapidly scrolling through a long
I. I NTRODUCTION list of diagrams increases the scalability with respect to the
Many application domains deal with graph data that evolves time dimension. Moreover, an adaptive slow-down mechanism
over time, i.e., either the structure itself changes by adding automatically controls the serial presentation, different modes
or removing vertices and edges, or the attributes such as the aggregate long sequences of evolving graphs, and clustering
weights of the edges change. An explorative analysis promises of nodes improves the node layout. Finally, two case studies
interesting insights into the evolution of such data. Software showing the scalability and practical usefulness of the ap-
developers, for instance, might be interested in the execution proach. A video illustrating the approach can be found online:
behavior of their software manifested in the dynamically http://www.st.uni-trier.de/vlhcc12/.
recorded method calls. They could use this information to find
possible performance weaknesses or bugs. A social network II. R ELATED W ORK
may also change dynamically: people meet unknown people,
people lose track of each other, or cliques expand slowly. Beck et al. [1] generalize and extend aesthetic criteria for
Social network analysts can use this information to predict drawing static graphsthose that do not change over timeto
future changes or to investigate the spreading of information. dynamic graphs. Among other things, they point out that three
In general, it is challenging to visualize large static graph dimensions of scalability have to be considered: the number
datasets using node-link diagrams. Therefore, layout algo- of vertices, the number of edges, as well as the number of
rithms try to optimize a variety of aesthetic criteria describing graphs (a dynamic graph is usually modeled as a sequence
a good graph layout, aiming at the minimization of link of static graphs). Various approaches for visualizing dynamic
crossings or the maximization of symmetries [2], [33]. graph data have been proposed, but suffer from scalability
When a graph structure changes over time, the problem of issues in at least one of these dimensions:
generating a readable node-link diagram becomes even harder. Animated node-link diagrams exploit a natural time-to-
Many approaches use animated diagrams to show the changes time mapping to display the sequence of graphs. The graphs
(e.g., [10], [13]). In these approaches, the single layouts of the are presented one after the other while animating the transition
graph need to be optimized to preserve the viewers mental steps (e.g. [13], [10]). Those diagrams are limited in their
image of the graph, the so-called mental map [32], during abilities to support the analysis of dynamic changes [1]:
animation [10]. Although those animated node-link diagrams Remembering states of previous graphs and following the
are quite accessible, they mainly suffer from scalability issues. movement of nodes require high cognitive loads. Moreover,
Depending on the size of the graph and number of changes, the scalability for the single static graphs is as restricted as
for usual node-link diagrams (see [16] for a discussion of the a target, we talk about directed graphs. The presented visual-
scalability of node-link diagrams). ization approach takes directed and weighted dynamic graphs
Reitz et al. [34] proposed an approach that automatically as input and generates a sequence of images to visualize them.
focuses on the changing parts of a dynamic graph by collaps- Formally, such graphs can be defined as follows. Let
ing the stable parts of the graph. This increases certain aspects
G = (VA , EA , )
of the scalability but requires slowly evolving datasets.
Timeline-based diagrams map the time dimension to a be a directed weighted graph, where VA denotes the set of n
space dimension in a non-animated diagram. The TimeArc- vertices and EA VA VA the set of directed adjacency edges
Trees technique, e.g., uses a sequence of linearized node-link between the vertices. A weight is assigned to each adjacency
diagrams [17] where many parallel and crossing edges, how- edge e EA by a function
ever, limit the readability. The TimeRadarTrees approach [5]
G : EA R+ .
and its enhancement, called Layered TimeRadarTrees [6],
are based on matrix representations using radial graphical A sequence of such graphs
elementsthe circle circumference constrains the number of
G := (G1 , G2 , . . . , Gk )
vertices. Recently, Parallel Edge Splatting was introduced by
Burch et al. [7]. Similar to TimeArcTrees, a sequence of graphs with k 2 is called dynamic graph. Moreover, each graph
is shown in a linearized layout side-by-side, but the readability
is improved by splitting the vertices and drawing the edges Gi = (VAi , EAi ), 1 i k
from left to right. Moreover, based on an edge splatting of the sequence G has a timestamp defined by a function
technique edges are represented as density fields to reduce
the clutter in dense diagrams (see [30], [38]). Parallel Edge t : G R+
Splatting is also related to (continuous) parallel coordinates where G is the set of all possible directed graphs and
plots [21], [18], [19]. Due to a restricted number of graphs
that fit onto the screen side-by-side, Parallel Edge Splatting is t(Gi ) < t(Gi+1 ) i, 1 i < k.
still limited with respect to the time dimension. Modeling a dynamic graph as a sequence of static graphs
Rapid Serial Visual Presentation (RSVP) [3], [37], the as introduced above requires the use of a discrete instead
technique that we apply to tackle the scalability limitation of a continuous time dimension. Nevertheless, the flexible
of Parallel Edge Splatting, describes the process of quickly definition of the timestamp function t allows arbitrary temporal
flipping through a set of images, diagrams, or other visual differences between two subsequent static graphs, formally,
representations. This approach is often applied to video or t(Gi+1 ) t(Gi ) is not necessarily constant for all 1 i < k.
image browsing [11], [39], [41]. Two subconcepts of RSVP Hence, continuous temporal information can be sampled with a
can be distinguished [4]. In static RSVP, the displayed entities fixed or flexible sampling rate to match the data model. In case
are stacked exactly on top of each other such that only of non-weighted graphs or discrete changes of edge weights,
one entity is visible at a time. Animated node-link diagrams sampling can be implemented without loss of information
can be considered instances of this approach. In contrast to because all changes are discrete.
that, dynamic RSVP shows more than a single entity, but
subsequences of entities at the same time. B. Graph Layout
Related but interpreted differently, RSVP is also known as a A single graph G = (VA , EA ) is typically laid out in the
technique for displaying text word by word [31]. For details on two-dimensional plane with the goal to meet certain aesthetic
the cognitive processes behind RSVP we refer to Coltheart [8]. graph drawing criteria. Since our approach aims at showing
many graphs side-by-side, a graph layout is needed that is
III. V ISUALIZATION T ECHNIQUE space-efficient and that clearly reflects the graph and link
Our approach is built on Parallel Edge Splatting [7] and structures at the same time. For this reason, the traditional 2D
integrates RSVP. It is thus a combined animated and timeline- layout is transformed to a 1D layout, i.e., graph vertices are
based diagram for visualizing dynamic graphs, trying to incor- mapped to one-dimensional vertical lines and edge splatting
porate the advantages of both paradigms. After specifying the is also applied.
graph data model for the visualization precisely, we explain the To achieve the aforementioned goal, the directed graph G =
graph layout and edge splatting in detail. Then, we show how (VA , EA ) has to be transformed to a bipartite directed graph
RSVP is leveraged in the visualization technique and describe G0 = (VA VA0 , EA 0
) where for each v VA a corresponding
interactive features that help exploring the data. v 0 VA0 is introduced. Each directed adjacency edge e :=
(v, u) EA is transformed to a directed edge (v, u0 ) = e0
A. Graph Data Model EA 0
where v VA and u0 VA0 .
Adding and removing edges is a relevant aspect of dynamic Figure 1 demonstrates how a graph can be displayed in
graphs. On a continuous time axis, edges can be added or a space-efficient 1D layout by making it bipartite and then
removed at any time step. Furthermore, edge weights might mapping the directed edges as straight links from left to right
change in weighted graphs. When edges point from a source to following the reading direction in Western countries.
a a a
a b b b
b e c c c
d d d RSVP
c d
e e e
Fig. 3. The concept of RSVP is applied by showing a subsequence of a
dynamic graph at a time, using the idea of a sliding time window.
Fig. 1. A graph is transformed to a bipartite graph by copying the vertex
set VA to VA0 and only allow edges between VA and VA0 . Each vertex group
is mapped equidistantly on one axis of two parallel vertical axes and edges data on different levels of granularity by allowing interactive
as straight links between the axes.
expanding and collapsing of subhierarchies. Details on the
hierarchical structure follow in Section IV-B.
To benefit from the layout restrictions and to perceive
the graph and link structure, the concept of Parallel Edge
Splatting [7] is applied. In particular, density fields of the link
information are computed and the quantitative data points are
shown by color coding in a heatmap representation, which
makes the graph and link structures more apparent. This also
addresses the issue of increased clutter caused by the 1D
layout.
C. Rapid Serial Visual Presentation (RSVP)
Fig. 2. A dynamic graph is mapped on a sequence of parallel vertical lines Though the exploration task for dynamic graph data benefits
with fixed vertical vertex positions in all of the graphs.
from static diagrams, the static visualization approach only
scales to a very limited number of subsequent graphs. The
main contribution of this work is to significantly improve
A visual representation of edges as straight links between scalability with respect to the time dimension. To this end,
parallel vertical lines has the great benefit that we obtain a we apply the concept of RSVP traditionally used for video
space-efficient layout for a directed weighted graph, though browsing. Following this idea, we use the concept of a
visual clutter will be increased initially by the restriction sliding time window and always represent a subsequence of a
of using 1D instead of 2D. The advantage of this space- longer dynamic graph dataset. In our approach, the concept of
efficiency can be exploited for representing several graphs dynamic RSVP is applied, i.e., the single graphs of a sequence
side-by-sidea visual metaphor that is very similar to parallel are not represented at the same location on the display and
coordinates. Since the representatives of each vertex are all replaced by the next one after a given delay. Instead, many
located on the same horizontal line, there are no layout graphs are shown side-by-side, all contained in the same time
changes throughout the graph sequence and hence, the mental window, which can be moved by a given delay, see Figure 3
map of a viewer is easily preserved. Furthermore, viewers can for an illustration of this concept.
easily explore a graph sequence for dynamic patterns such as
trends, countertrends, periodicities, temporal shifts, stabilities, D. Interactive Features
or anomalies because they have the flexibility of looking at a Our visualization approach supports different modes of
region of interest within the static picture. The single elements RSVP, i.e., ways to move the visible part of the static visualiza-
of the dynamic data are presented next to each other and can tion as illustrated in Figure 3. It is possible to navigate through
thus be analyzed by visual comparison of components placed the static view manually using a slider. Furthermore, the RSVP
side-by-side. In contrast, when using graph animation a viewer can be performed automatically by clicking a play button or
has to remember the single elements and the comparison has by quickly nudging the slider. For the former, a default speed
to be done in his mind relying on short term memory skills. is used to move the view, whereas for the latter the speed is
Figure 2 shows a dynamic graph consisting of a sequence of determined by the strength of the push, i.e., depending on how
seven static graphs with 15 vertices and 34 edges in a side- much and how far the slider was moved. Buttons can be used
by-side static representation. to regulate, i.e., to slow down or speed up the RSVP.
Another benefit of a static diagram for dynamic graphs is the The speed can also be regulated automatically if the respec-
fact that an additional hierarchical organization of the graph tive feature is enabled. In this case, the animation automati-
vertices can easily be attached to the diagram. This hierarchical cally slows down as soon as two consecutive graphs come into
structure is visualized as a layered icicle representation [28] view that differ strongly. As soon as these graphs have reached
and can be used to orientate and to explore the relational the center of the view, the animation is accelerated again. The
similarity of two graphs is determined referring to the number sequence of graphs is to be split and aggregated. Hence,
and overlay of edges. First, the number of edges within both the aggregation can be defined as follows:
graphs is evaluated: if the number increases or decreases at [
a minimal rate defined by a threshold, the difference between Gj = Gi
these graphs is considered to be strong. But even if the number i [ij ,ij+1 1]
of edges is similar, the graphs might differ. Hence, the overlap
of edges of the two graphs is determined and compared to Aggregation Frame: An alternative to the semantic-
the union of edges. If this overlap is smaller than a given based aggregation is to divide the time axis into frames
percentage of the union, the difference between these graphs of fixed length and to merge the graphs according to
is also considered to be strong. these frames. This simplifies the dynamic information
Another interactive feature targets the adaption of granu- independent of some semantic information that might be
larity of displayed information. Therefore, it is possible to available.
collapse internal nodes of the hierarchy, thereby aggregating For a step size c t(Gkk1
)t(G1 )
we get l k transformed
the edges for all leaves under this internal node, to increase the graphs by aggregation defined as follows:
available space along the vertical lines for the subhierarchies of [
interest. Furthermore, consecutive graphs can be aggregated, Gj = Gi
thereby summarizing graphs for certain time intervals and tj t(Gi ) < tj +c
decreasing the number of graphs to be displayed.
where tj := t(G1 ) + (j 1) c is the start of the jth
IV. DATA T RANSFORMATIONS frame. Please note that some graphs Gj could be empty
because there were no original graphs in the respective
We distinguish between the weighted adjacency edges that time frame.
may change over time and the static inclusion edges given Moving Aggregation Frame: Instead of dividing the
by a hierarchical organization of the graph vertices. First, we time axis into frames of time, a frame of time with a
discuss ways to aggregate graph edges. Second, we formalize fixed length can also be moved stepwise along the time
the hierarchical organization and present a clustering approach axis. The graphs in the time frame are aggregated in each
to automatically create such a hierarchy. step. This aggregation strategy will lead to overlapping
A. Graph Aggregation frames and could be helpful if, for instance, each of the
original graphs only consists of a few edges.
The discrete sequence of static graphs may possibly consist We reuse parameter c (see above) for representing the
of many graphs. Applying RSVP allows us to show the full step size guaranteeing l k. The size of the time frame
sequence, but aggregating the sequence might be still useful is denoted as c0 , where c0 c. The aggregation strategy
for interactively hiding unnecessary details. For instance, in a then is defined as follows:
graph where each edge is added separately at different points
in time, aggregating certain frames of time may simplify the
[
Gj = Gi
analysis. We propose a set of aggregation modes, which reduce tj t(Gi ) < tj +c0
the number of graphs or transform the graphs in the sequence.
This aggregation can be used as a preprocessing step for In case c = c0 , the moving aggregation frame mode is
visualization. equivalent to the normal aggregation frame mode.
In our formal model, we transform the sequence of graphs In case no explicit time information is provided or only the
G = (G1 , G2 , . . . , Gk ) to a sequence G = (G1 , G2 , . . . , Gl ), order of events is of interest, we set t(Gi ) = i. This transforms
where l k. For the purpose of aggregation, we define a the two aggregation modes based on time frames into event-
union operation on graphs by based modesone with a disjoint event frame and one with
a moving frame.
G1 G2 := (VA1 VA2 , EA1 EA2 , 0 ) = G0
B. Hierarchy Model
1 (e) + 2 (e) if e EA1 EA2
Hierarchically ordering the vertices of a large graph could
0 (e) = 1 (e) if e EA1 EA2
provide a better overview of the graph because similar ver-
2 (e) if e EA2 EA1
tices can be grouped together or aggregated. When linearly
Semantic Aggregation: A simple, yet often very useful arranging the vertices as in our visualization, a hierarchy helps
form of simplification is a semantic-based aggregation. finding a meaningful linear order. In the following, we extend
An external source provides the information about what our data model towards representing such a hierarchy and
graphs should be merged. For instance, using a calendar, discuss an approach to automatically generate the hierarchical
aggregating the graphs on a monthly basis is possible. structure if necessary.
The necessary information can be described as an ordered The hierarchy is defined as a tree structure H = (VI , EI ).
list of unique indices I = (i1 , i2 , . . . il+1 ) where i1 = 1 The set VI VA denotes a set of vertices and EI VI VI
and il+1 = k. These indices mark the points where the a set of directed edges. These edges describe the inclusion
relation between vertices of the tree structure and should not other, methods reflect the main flow of information during
be confused with the adjacency edges EA . One vertex is execution. Analyzing those dynamic method calls instead of
designated the root vertex, which has no outgoing edges. In static calls retrieved from the source code of the system bears
the context of this work, we use a constant hierarchy, although the advantage of observing the real program behavior and not
the dynamic graph may change frequently over time. In other an over-estimated set of theoretic dependencies.
words, the inclusion edges stay the same while the adjacency As an example, we study the dynamic method calls of an
edges may change over time. open source Java system called JHotDraw, a graphics frame-
If the vertices of a dynamic graph are not ordered, it work that is also intended to serve as a benchmark system for
could be difficult to derive any dynamic pattern from the studying software design [25]. To get an executable system,
visualization: Due to the chaotic vertex order, many link we chose the JavaDrawApp sample, a simple graphics editor,
crossings clutter the visualization. A hierarchy that groups which is distributed together with JHotDraw. In particular, our
frequently linked vertices together would automatically reduce test scenario was to start the program, create a new file, draw
the length of the links and the number of edge crossings. a rectangle, draw a circle, and write a text into the circle.
To generate some kind of meaningful one-dimensional ver- For recording the dynamic method calls during execution, we
tex ordering we first apply the concept of agglomerative hier- employed the Java Interactive Profiler (JIP) [26]. It stores the
archical clustering proposed by Kaufman and Rousseeuw [27]. calls in an XML file, which we converted and imported in
To achieve a runtime complexity of O(n2 ), where n denotes our visualization tool. The weights of the edges encode the
the number of all vertices to be clustered, we apply the execution times of the called methods.
complete linkage approach of Defays [9]. Complete linkage The actual dataset is large with respect to all three dimen-
benefits from the fact that compact clusters of equal diameters sions: It contains 982 vertices (methods and hierarchy vertices)
can be found as shown by Everitt et al. [12]. and 32 259 weighted edges (method calls). The Java system
The clustering algorithm starts by aggregating the weights divided into two threads, a main thread and a supporting
i of all adjacency edges of all k graphs into a correlation thread, which ran in parallel during execution. These two
matrix C = (cij ), 1 i, j, n where threads are themselves subdivided into interactions, connected
k
sequences of executed method calls1 077 in total. The
X X methods are organized hierarchically by the class and package
cij := l (e) .
structure of the system. In the following we first aggregate all
l=1 (vi ,vj )=:eEAl
calls at interaction level and study the difference between those
This correlation matrix serves as the distance metric of our interactions. The next analysis addresses the main thread of the
hierarchical complete linkage clustering algorithm, i.e., we program and investigates its method calls on a finer level of
use global distance information to generate a clustering. The granularity.
algorithm terminates after generating a hierarchical structure 1) Overview: To get an overview of the dataset, we want to
Hclust = (Vclust , Eclust ) containing all vertices of the dy- browse through the call graphs at a high level of abstraction.
namic adjacency graphs as leaf vertices besides newly intro- Here, the semantic aggregation (Section IV-A) provides the
duced inner vertices, i.e., possibility to reduce the length of the sequence to a man-
[ ageable number of graphs. We analyze the dynamic graph
VAl Vclust at the level of interactions (1 077 graphs) and propose the
1lk
following approach: First, use the animation at high speed
and an additional inclusion relation Eclust . to get a first impression on the dataset in seconds. Next,
repeat the animation activating the adaptive slow down feature
V. C ASE S TUDIES and make (mental) notes of interesting phenomena. Third and
The goal of these case studies is to demonstrate the last, study the interesting parts by scrolling to particular time
scalability of the introduced visualization technique in two steps manually and comparing the consecutive graphs to the
application scenarios from different domains. We argued that sequence using the scrollbar.
the technique is well-suited for datasets with a fine-grained a) Outliers: Among the sequence of graphs on thread
temporal resolution and long evolution. Hence, the scenarios level, the first graph representing the main thread is the densest
were selected with respect to this idea. In particular, the first (Figure 4 a). The main thread only consists of one interaction
scenario investigates dynamic method calls observed during because it is never interrupted or stopped. Analyzing this
the execution of a software system. The second one analyzes a thread at the level of interaction aggregates all dynamic
dynamic social network encoding interpersonal contacts during information and hence is only of limited interest. We study the
a conference. dynamic behavior of the main thread in detail in Section V-A2.
The other 1 076 graphs of the sequence are interactions
A. Dynamic Call Graph Analysis belonging to the supporting thread. Many of those interactions
Software systems are executed at a speed of billions of are instances of only a few graph patterns. But among those
instructions per second. As one of the basic building blocks, recurring graphs, we also find some other outliers (e.g.,
those instructions are grouped into methods. Invoking each Figure 4 b-d). Two of those (Figure 4 b and c) are quite dense
(a) (b)
Fig. 5. Method calls in the main thread of JHotDraw; (a) single calls;
(b) aggregated calls.
(a) (b) (c) (d) (e) (f) (g) (h)
Fig. 4. Outliers (a-d) and recurring patterns (e-h) on the level of interactions
in the dynamic method call graph of JHotDraw. only occurs in the second half of execution. The explanation is
that both patterns show the reaction to a mouse movement on
the drawing area: while the first pattern has no consequences
and, as they are outliers, also differ from the previous graphs. for the drawn objects (the mouse is probably over a whitespace
Hence, the adaptive animation automatically slows down at area), the second pattern interacts with those objects (a hov-
these points, which makes these outliers easy to detect, even ering effect; the objects are added during program execution).
when browsing through the sequence rapidly. Finally, Figure 4 h shows a recurring pattern consisting
Figure 4 d, in contrast, shows an outlier that is sparse and of more than one graph. It is repeated over 140 times in
only consists of seven method calls. It is the last graph of two subsequences. Comparing this pattern to the patterns of
the sequence where the program shuts down as a reaction to Figure 4 f and g, we see some similarities that might indicate
the closing event. Sparse outliers like this graph are harder to that Figure 4 h is also related to the drawing area. The raw data
detect in the call graph example because most of the recurring confirms this assumption: In particular, the pattern reflects a
patterns are also sparse. But assuming that a particular sparse drag operation. At the end of the subsequences repeating the
graph is an outlier, this assumption can be quickly checked by patterns, we find a dense outlier (Figure 4 c), which can be
repeating another fast inspection of the whole sequence in a identified as the respective drop operation.
few seconds. 2) Details: In our recorded dataset the main thread included
b) Recurring Patterns: While following the animation 1 757 method calls in a single interaction. This is the dataset
and scrolling through the graphs, the user can observe recur- that we want to analyze in more detail. We look at the raw data
ring visual patterns: For patterns presented side-by-side, the in form of the separate method calls as well as an aggregated
similarity of the graph is obvious and the adaptive animation dataset created by applying a moving aggregation frame.
can move quite fast across these diagrams. If they are gaped, a) Single Method Calls: To preserve the complete in-
however, by other diagrams in between, recurring patterns are formation on the execution order of the methods, each of the
harder to detect, but they are automatically presented at a subsequent method calls has to be included into a single graph.
slower animation speed. We discern patterns that only consist The result is a sequence of 1 757 graphs, each consisting
of a single graph and those that are short sequences of graphs. of only one weighted edge. The first nine of such graphs
As already mentioned, most of the interaction graphs in the are shown in Figure 5 a. While linear sequences of calls are
analyzed sequence are repetitions of a few such patterns. represented by connected lines over several graphs, gaps in the
For instance, at the beginning of the whole sequence, there line indicate returning calls. The color of the edges points to
is a single graph pattern that occurs more than a hundred times expensive method executions. Browsing through the sequence,
in subsequent graphs only with few interruptions (Figure 4 e). the user may search for the most expensive calls or observe the
This sparse pattern consisting only of four method calls activity in different parts of the program. Moreover, recurring
reappears again for a longer sequence in the remainder of the patterns can be retrieved as already demonstrated for the call
dynamic graph. As the recorded raw data tells, this pattern graphs on interaction level. In the sequence of method calls
represents the reaction to a mouse movement on the toolbar in the main thread, we, however, note only few such patterns.
and a subsequent update of the status bar. b) Aggregated Calls: For aggregating the method calls,
There are similar sparse, but frequently recurring patterns we chose a moving frame of size 100 with a step size
based on single graphs, for example, the two patterns in of 10. The resulting dynamic graph consists of 167 static
Figure 4 f and g. Both patterns look similar because some graphs each consisting of 100 edges and overlapping 90% of
of the edges depicted in Figure 4 f can also be found in the previous/next graph. Figure 5 b depicts the first nine of
Figure 4 g. While the the pattern of Figure 4 f is occurring all those graphs. The overall activity in the different parts of the
over the execution of the program, the pattern of Figure 4 g program can be better observed using this aggregated graph: In
am pm
8:00 9:00 10:00 11:00 12:00 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00
1st day
am pm
8:00 9:00 10:00 11:00 12:00 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00
2nd day
am pm
8:00 9:00 10:00 11:00 12:00 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00
3rd day
am pm
8:00 9:00 10:00 11:00 12:00 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00
Fig. 6. Face-to-face contacts of the ACM Hypertext 2009 conference attendees (green bars: sessions).
Figure 5 b, for instance, we register high activity for a group green bars indicating the sessions of the conference (plenum
of methods near the top border of the diagram as well as for a sessions only; retrieved from the conference program [24]).
group in the middle. The moving aggregation, in contrast to a The compressed image, however, can only give a first impres-
non-moving aggregation, prevents misinterpretations because a sion; the interactive visualization tool is needed to retrieve
non-moving aggregation leads to artificial cuts in the sequence. details at full-screen size.
As Figure 5 b shows, the sequence for the moving aggregation Social Activity: The visualization reveals simple insights
frame is slowly evolving instead. on the general social activity during the conference. For
instance, the sessions clearly relate to a significantly lower
B. Social Network Analysis number of face-to-face contacts. This effect is weaker on
As a second application example for our visualization tool, the first day, a preconference day with workshop sessions.
we analyze a dynamic social network collected during the Temporally shifted gaps in the graph density hint at delayed
ACM Hypertext 2009 conference, a dataset that is freely sessions (e.g., the third session on the third day). The most
available as a part of the SocioPatterns project [22], [23]. Face- active intervals seem to be coffee breaks in the morning
to-face proximity of volunteering conference attendees was (second and third day) as well as after the closing session
monitored by RFID badges. A contact between two attendees of the conference.
was only recorded if they really faced each other in close Temporal Patterns: Our visualization could be of par-
range over an interval of 20 s. The acquired dataset contains ticular use when analyzing more complex phenomena like
the dynamic network of 20 818 face-to-face proximities of 113 graph patterns that are stable across several intervals. We
conference participants over a time period of three conference observe such stable patterns around 1pm at each day, probably
days. The dataset was anonymized, i.e., neither personal data during lunch: It shows a quite dense graph only slightly
nor other metadata is available. changing across 34 intervals (4560 min). In other intervals,
To retrieve a linear order for the unstructured vertices in for instance at the end of the first day, some parts of the graph
this dataset, we applied a hierarchical clustering algorithm as are stable while other parts change. These could be situations
described in Section IV-B. We analyze the dataset in intervals where some of the conference attendees are sitting and dis-
of 15 minutes (frame aggregation mode), which results in a cussing while other attendees move around and communicate
sequence of 236 graphs. Figure 6 provides an overview of with many different people.
this sequence showing 148 graphs (excluding those at night). Clusters: Conference attendees who communicate fre-
The interpretation of the figure is supported by a timeline and quently are grouped into clusters and positioned near to each
other in the visualization. In Figure 6, we observe small clus- [14] T.M.J. Fruchterman and E.M. Reingold, Graph Drawing by Force-
ters of attendees that are stable across several hours especially Directed Placement, Software: Practice and Experience, 21(11), pages
1129-1164, 1991.
on the third day of the conference (long sequences of edge [15] M. R. Garey and David S. Johnson, Computers and Intractability: A
clusters)contacts seem to become less volatile towards the Guide to the Theory of NP-Completeness, W. H. Freeman, 1979.
end of the conference. A group of four attendees, represented [16] M. Ghoniem and J. D. Fekete and P. Castagliola, A Comparison of the
Readability of Graphs Using Node-Link and Matrix-Based Representa-
as a cluster near the bottom of the diagram, is quite actively tions, In Proc. of IEEE Symposium on Information Visualization, pages
communicating also on the other days of the conference, 17-24, 2004.
in particular around noon at the second day. Less active [17] M. Greilich and M. Burch and S. Diehl, Visualizing the Evolution
of Compound Digraphs with TimeArcTrees, Computer Graphics Forum,
cluster, but more cross-cluster contacts can be observed at the 28(3), pages 975-982, 2009.
beginning of the conference (before the first session starts) as [18] J. Heinrich and D. Weiskopf, Continuous Parallel Coordinates, IEEE
well as in the morning coffee breaks (second and third day). Trans. on Visualization and Computer Graphics, 15(6), 1531-1538, 2009.
[19] J. Heinrich and S. Bachthaler and D. Weiskopf, Progressive Splatting
This might be the premier points to meet new people. of Continuous Scatterplots and Parallel Coordinates, Computer Graphics
Forum, 30(3), 653-662, 2011.
VI. C ONCLUSION [20] D. Holten, Hierarchical Edge Bundles: Visualization of Adjacency Re-
lations in Hierarchical Data, IEEE Trans. on Visualization and Computer
In this paper we demonstrated how the concept of RSVP Graphics, 12(5), 741-748, 2006.
[21] A. Inselberg and B. Dimsdale, Parallel Coordinates: A Tool for Visu-
can be applied to dynamic graph visualization. Parallel Edge alizing Multi-Dimensional Geometry, In Proc. of the IEEE Visualization
Splatting provides a compact side-by-side representation of a Conference, pages 361-378, 1990.
sequence of graphs. The presented visualization approach is a [22] L. Isella and J. Stehle and A. Barrat and C. Cattuto and J.-F. Pinton
and W. van den Broeck, Whats in a Crowd? Analysis of Face-to-Face
hybrid between animated and timeline-based graph diagrams. Behavioral Networks, Journal of Theoretical Biology, 271(166), 2011.
The major contribution of our work is the improved scalability [23] http://www.sociopatterns.org.
in the dimension of time. In two application scenarios, we [24] http://www.ht2009.org/program.php.
[25] http://www.jhotdraw.org/.
illustrate this benefit by analyzing large graphs consisting [26] http://jiprof.sourceforge.net/.
of more than thousand time steps. The different aggregation [27] L. Kaufman and P.J. Rousseeuw, Finding Groups in Data: An Introduc-
modes particularly helped analyzing the execution behavior of tion to Cluster Analysis, John Wiley & Sons, Inc., 1990.
[28] J. Kruskal and J. Landwehr, Icicle Plots: Better Displays for Hierarchical
JHotDraw. In a dynamic social network showing face-to-face Clustering, The American Statistician, 37, 162-168, 1983.
contacts during a conference, clustering provided a meaningful [29] K. Lam and R. Spence, Image Browsing: A Space-Time Trade-Off,
order of the conference attendees and revealed clusters of Human-Computer Interaction, pages 611-612, 1997.
[30] R. van Liere and W.C. de Leeuw, GraphSplatting: Visualizing Graphs as
edges in the dynamic graph. Continuous Fields, IEEE Trans. on Visualization and Computer Graphics,
9(2), 206-212, 2003.
R EFERENCES [31] C.B. Mills and L.J. Weldon, Reading Text from Computer Screens, ACM
Computer Surveys, 19(4), pages 329-357, 1987.
[1] F. Beck and M. Burch and S. Diehl, Towards an Aesthetic Dimensions [32] K. Misue and P. Eades and W. Lai and K. Sugiyama, Layout Adjustment
Framework for Dynamic Graph Visualizations, In Proc. of the Interna- and the Mental Map, Journal of Visual Languages and Computing, 6(2),
tional Conference on Information Visualisation, pages 592-597, 2009. pages 183-210, 1995.
[2] C. Bennett and J. Ryall and L. Spalteholz and A. Gooch, The Aesthetics [33] H. C. Purchase, Metrics for Graph Drawing Aesthetics, Journal of Visual
of Graph Visualization, In Proc. of Computational Aesthetics, pages 57- Languages and Computing, 13(5), pages 501-516, 2002.
64, 2007. [34] F. Reitz and M. Pohl and S. Diehl, Focused Animation of Dynamic Com-
[3] O. Bruijn and R. Spence, Rapid Serial Visual Presentation: A Space- pound Graphs, In Proc. of the International Symposium on Information
Time Tradeoff in Information Presentation, In Proc. of Advanced Visual Visualisation, pages 679-684, 2009.
Interfaces, pages 189-192, 2000. [35] R. Rosenholtz and Y. Li and J. Mansfield and Z. Jin, Feature Congestion:
[4] O. Bruijn and R. Spence, Rapid Serial Visual Presentation, A Measure of Display Clutter, In Proc. of SIGCHI Conference on Human
http://www.iis.ee.ic.ac.uk/ o.debruijn/rsvp.pdf, 2000. Factors in Computing Systems, pages 761-770, 2005.
[5] M. Burch and S. Diehl, TimeRadarTrees: Visualizing Dynamic Com- [36] R. Sibson, SLINK: An Optimally Efficient Algorithm for the Single-
pound Digraphs, Computer Graphics Forum, 27(3), pages 823-830, 2008. Link Cluster Method, The Computer Journal (British Computer Society),
[6] M. Burch and M. Hoferlin and D. Weiskopf, Layered TimeRadarTrees, 16(1), pages 30-34, 1973.
In Proc. of International Conference on Information Visualization (IV), [37] R. Spence, Rapid, Serial and Visual: A Presentation Technique with
pages 18-25, 2011. Potential, Information Visualization, 1(1), pages 13-19, 2002.
[7] M. Burch and C. Vehlow and F. Beck and S. Diehl and D. Weiskopf, [38] A. Telea and O. Ersoy, Image-Based Edge Bundles: Simplified Visual-
Parallel Edge Splatting for Scalable Dynamic Graph Visualization, IEEE ization of Large Graphs, Computer Graphics Forum, 29(3), pages 843-
Trans. on Visualization and Computer Graphics, 17(12), pages 2344-2353, 852, 2010.
2011. [39] T. Tse and G. Marchionini and W. Ding and L. Slaughter and A.
[8] V. Coltheart, Fleeting Memories: Cognition of Brief Visual Stimuli Komlodi, Dynamic Key Frame Presentation Techniques for Augmenting
(Cognitive Psychology), The MIT Press, 1999. Video Browsing, In Proc. of the Working Conference on Advanced Visual
[9] D. Defays, An Efficient Algorithm for a Complete Link Method, The Interfaces, pages 185-194, 1998.
Computer Journal (British Computer Society), 20(4), pages 364-366, [40] B. Tversky and J. Bauer Morrison and M. Betrancourt, Animation: Can
1977. it Facilitate?, International Journal on Human-Computer Studies, 57(4),
[10] S. Diehl and C. Gorg, Graphs, They Are Changing, In Proc. of 247-262, 2002.
International Symposium on Graph Drawing, pages 23-30, 2002. [41] K. Wittenburg and W. Ali-Ahmed and D. LaLiberte and T. Lanning,
[11] E. Eddie and G. Davenport, Video Streamer, In Conference Companion Rapid-Fire Image Previews for Information Navigation, In Proc. of
on Human Factors in Computing Systems, pages 65-68, 1994. Advanced Visual Interfaces, pages 76-82, 1998.
[12] B. Everitt and S. Landau and M. Leese, Cluster Analysis, Hodder Arnold
Publications, 2001.
[13] Y. Frishman and A. Tal, Online Dynamic Graph Drawing, IEEE Trans.
on Visualization and Computer Graphics, 14(4), pages 727-740, 2008.