Conference Paper

Visual Analysis of Graph Algorithm Dynamics

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... This article is an extension of a paper published at VINCI 2021 (Burch et al. 2021). Compared to Burch et al. (2021) this extended version has the following additions while at the same time increasing the number of figures: ...
... This article is an extension of a paper published at VINCI 2021 (Burch et al. 2021). Compared to Burch et al. (2021) this extended version has the following additions while at the same time increasing the number of figures: ...
Article
Full-text available
In this paper, we describe an interactive visualization tool for representing the dynamics of graph algorithms. To reach this goal, we designed a web-based framework which illustrates the dynamics as time-to-space mappings of dynamic graphs. Such static diagrams of dynamic data have the benefit of being able to display longer time spans in one view, hence supporting the observer with comparison tasks which is challenging or even impossible for graph algorithm animations. Our tool can show details about how an algorithm traverses a graph step-by-step in a static and animated fashion, for graph algorithm exploration as well as educational purposes. The animation together with the time-to-space mapping hence forms an overview-and-detail approach. We also allow changing of speed, replaying, stopping, storing intermediate stages with parameter configurations, as well as measuring and monitoring performance and memory consumption to eventually identify bottlenecks in a graph algorithm. By using flight carrier data from the United States Department of Transportation and a network of autonomous systems we demonstrate how we used the tool to explore two standard graph-theoretic algorithms. Finally, we discuss scalability issues and limitations. Graphical abstract
Article
Full-text available
Algorithms are hard to understand for novice computer science students because they dynamically modify values of elements of abstract data structures. Animations can help to understand algorithms, since they connect abstract concepts to real life objects and situations. In the past 30-35 years, there have been conducted many experiments in the field of usage of animations and visualizations in education, but they showed mixed results. In this paper, we review past research within the field and summarize recommendations regarding the graphic design and interactivity of the animations. In the second part of the paper, we present our interactive card sorting animations with conceptual views. The goal of these animations is to help students understand the main ideas and differences between basic sorting algorithms. In a pedagogical experiment related to these animations, 92 first-year computer science students of J. Selye University in Komarno (Slovakia) were asked to fill in a pre-test, experiment with the interactive animations, and fill in a post-test. The results showed that animations helped students to understand essential aspects of sorting algorithms. However, the participants were not able to understand the sorting algorithms in detail, so other types of animations are needed to teach algorithms in-depth.
Article
Full-text available
The expansion of the web and emergence of a large number of social networking sites (SNS) have empowered users to easily interconnect on a shared platform. A social network can be represented by a graph consisting of a set of nodes and edges connecting these nodes. The nodes represent the individuals/entities, and the edges correspond to the interactions among them. The tendency of people with similar tastes, choices, and preferences to get associated in a social network leads to the formation of virtual clusters or communities. Detection of these communities can be beneficial for numerous applications such as finding a common research area in collaboration networks, finding a set of likeminded users for marketing and recommendations, and finding protein interaction networks in biological networks. A large number of community-detection algorithms have been proposed and applied to several domains in the literature. This paper presents a survey of the existing algorithms and approaches for the detection of communities in social networks. We also discuss some of the applications of community detection. For further resources related to this article, please visit the WIREs website.
Conference Paper
Full-text available
We present the zoomable adjacency matrix explorer (ZAME), a visualization tool for exploring graphs at a scale of millions of nodes and edges. ZAME is based on an adjacency matrix graph representation aggregated at multiple scales. It allows analysts to explore a graph at many levels, zooming and panning with interactive performance from an overview to the most detailed views. Several components work together in the ZAME tool to make this possible. Efficient matrix ordering algorithms group related elements. Individual data cases are aggregated into higher-order meta-representations. Aggregates are arranged into a pyramid hierarchy that allows for on-demand paging to GPU shader programs to support smooth multiscale browsing. Using ZAME, we are able to explore the entire French Wikipedia - over 500,000 articles and 6,000,000 links - with interactive performance on standard consumer-level computer hardware.
Article
Full-text available
Abstract In this article, we describe a taxonomy of generic graph related tasks along with a,computer-based,evaluation,designed,to,assess,the,readability,of two representations,of graphs: matrix-based,representations,and,node-link dia- grams. This evaluation encompasses,seven generic tasks and leads to insightful recommendations,for the representation,of graphs,according,to their size and density. Typically, we show that when graphs are bigger than twenty vertices, the matrix-based,visualization outperforms,node-link diagrams,on most,tasks. Only path finding is consistently in favor of node-link diagrams,throughout,the evaluation. Information Visualization (2005) 4, 114–135. doi:10.1057/palgrave.ivs.9500092 Keywords:,Visualization of graphs; adjacency,matrices; node-link representation; read- ability; evaluation
Conference Paper
Full-text available
While some research has been performed on the human understanding of static graph layout algorithms, dynamic graph layout algorithms have only recently been developed sufficiently to enable similar investigations. This paper presents the first empirical analysis of a dynamic graph layout algorithm, focusing on the assumption that maintaining the "mental map" between time-slices assists with the comprehension of the evolving graph. The results confirm this assumption with respect to some categories of tasks.
Article
Full-text available
MatrixExplorer is a network visualization system that uses two representations: node-link diagrams and matrices. Its design comes from a list of requirements formalized after several interviews and a participatory design session conducted with social science researchers. Although matrices are commonly used in social networks analysis, very few systems support the matrix-based representations to visualize and analyze networks. MatrixExplorer provides several novel features to support the exploration of social networks with a matrix-based representation, in addition to the standard interactive filtering and clustering functions. It provides tools to reorder (layout) matrices, to annotate and compare findings across different layouts and find consensus among several clusterings. MatrixExplorer also supports Node-link diagram views which are familiar to most users and remain a convenient way to publish or communicate exploration results. Matrix and node-link representations are kept synchronized at all stages of the exploration process.
Article
Full-text available
This paper introduces GraphSplatting, a technique which transforms a graph into a two-dimensional scalar field. The scalar field can be rendered as a color coded map, a height field, or a set of contours. Splat fields allow for the visualization of arbitrarily large graphs without cluttering. They provide density information which can be used to determine the structure of the graph. The construction, visualization, and interaction with splat fields is discussed. Two applications illustrate the usage of GraphSplatting.
Article
Dynamic graph visualization focuses on the challenge of representing the evolution of relationships between entities in readable, scalable and effective diagrams. This work surveys the growing number of approaches in this discipline. We derive a hierarchical taxonomy of techniques by systematically categorizing and tagging publications. While static graph visualizations are often divided into node-link and matrix representations, we identify the representation of time as the major distinguishing feature for dynamic graph visualizations: either graphs are represented as animated diagrams or as static charts based on a timeline. Evaluations of animated approaches focus on dynamic stability for preserving the viewer's mental map or, in general, compare animated diagrams to timeline-based ones. A bibliographic analysis provides insights into the organization and development of the field and its community. Finally, we identify and discuss challenges for future research. We also provide feedback from experts, collected with a questionnaire, which gives a broad perspective of these challenges and the current state of the field.
Article
Like professional programmers, teachers and students of computer science frequently use pictures as aids to conceiving, expressing, and communicating algorithms. Instructors used to cover blackboards and themselves with chalk in drawing intricate diagrams of data structures and control flow, yet often made errors such as improperly estimating the space needed for a proper layout. Students try to improve their visualization of a program's behaviour by sketching representations of nesting of procedures, scope of variables, memory allocation, pointer chains, and organization of record structures. Unfortunately, a program's behaviour cannot be described by a static drawing; it requires a dynamic sequence. We must trace control flow, bind variables, link pointers, and allocate memory. We must execute processes which mimic those of the machine. It is difficult for us to enact these dynamic sequences directly. Our drawings are inaccurate. Our timing is bad. We make major mistakes, such as skipping or rearranging steps. Thus it would be useful to have animation sequences portraying the behaviour of programs constructed automatically as a by-product of their execution, and therefore guaranteed to portray this execution
Article
Origini of graph theory. The solution to the Konigsberg bridge problem.
Article
Many models in software and information engineering use graph representations; examples are data flow diagrams, state transition diagrams, flow charts, PERT charts, organization charts, Petri nets and entity-relationship diagrams. The usefulness of these graph representations depends on the quality of the layout of the graphs. Automatic graph layout, which can release humans from graph drawing, is now available in several visualization systems.Most automatic layout facilities take a purely combinatorial description of a graph and produce a layout of the graph; these methods are called 'layout creation' methods. For interactive systems, another kind of layout is needed: a facility which can adjust a layout after a change is made by the user or by the application. Although layout adjustment is essential in interactive systems, most existing layout algorithms are designed for layout creation. The use of a layout creation method for layout adjustment may totally rearrange the layout and thus destroy the user's 'mental map' of the diagram; thus a set of layout adjustment methods, separate from layout creation methods, is needed.This paper discusses some layout adjustment methods and the preservation of the 'mental map' of the diagram. First, several models are proposed to make the concept of 'mental map' more precise. Then two kinds of layout adjustments are described. One is an algorithm for rearranging a diagram to avoid overlapping nodes, and the other is a method aimed at changing the focus of interest of the user without destroying the mental map. Next, some experience with visualization systems in which the techniques have been employed is also described.
Conference Paper
In this paper we present a generic algorithm for drawing sequences of graphs. This algorithm works for different layout algorithms and related metrics and adjustment strategies. It differs from previous work on dynamic graph drawing in that it considers all graphs in the sequence (offline) instead of just the previous ones (online) when computing the layout for each graph of the sequence. We introduce several general adjustment strategies and give examples of these strategies in the context of force-directed graph layout. Finally some results from our first prototype implementation are discussed.
Article
Compound digraphs are a widely used model in computer science. In many application domains these models evolve over time. Only few approaches to visualize such dynamic compound digraphs exist and mostly use animation to show the dynamics. In this paper we present a new visualization tool called TimeArcTrees that visualizes weighted, dynamic compound digraphs by drawing a sequence of node-link diagrams in a single view. Compactness is achieved by aligning the nodes of a graph vertically. Edge crossings are reduced by drawing upward and downward edges separately as colored arcs. Horizontal alignment of the instances of the same node in different graphs facilitates comparison of the graphs in the sequence. Many interaction techniques allow to explore the given graphs. Smooth animation supports the user to better track the transitions between views and to preserve his or her mental map. We illustrate the usefulness of the tool by looking at the particular problem of how shortest paths evolve over time. To this end, we applied the system to an evolving graph representing the German Autobahn and its traffic jams.
Article
The analysis of large graphs plays a prominent role in various fields of research and is relevant in many important application areas. Effective visual analysis of graphs requires appropriate visual presentations in combination with respective user interaction facilities and algorithmic graph analysis methods. How to design appropriate graph analysis systems depends on many factors, including the type of graph describing the data, the analytical task at hand and the applicability of graph analysis methods. The most recent surveys of graph visualization and navigation techniques cover techniques that had been introduced until 2000 or concentrate only on graph layouts published until 2002. Recently, new techniques have been developed covering a broader range of graph types, such as time‐varying graphs. Also, in accordance with ever growing amounts of graph‐structured data becoming available, the inclusion of algorithmic graph analysis and interaction techniques becomes increasingly important. In this State‐of‐the‐Art Report, we survey available techniques for the visual analysis of large graphs. Our review first considers graph visualization techniques according to the type of graphs supported. The visualization techniques form the basis for the presentation of interaction approaches suitable for visual graph exploration. As an important component of visual graph analysis, we discuss various graph algorithmic aspects useful for the different stages of the visual graph analysis process. We also present main open research challenges in this field.
Article
Algorithm animation is the process of abstracting the data, operations, and semantics of computer programs, and then creating animated graphical views of those abstractions. Although a handful of algorithm animation systems have been developed in recent years, relatively little work has been done on the theoretical foundations of such systems. In this work we develop a conceptual framework with formal models and precise semantics for algorithm animation. The framework contains facilities for defining operations in an algorithm, designing animations, and mapping the algorithm operations to their corresponding animations. We introduce the framework to make animation design easier, as well as to provide a model that supports smooth, continuous image movement. We also present the {\em path-transition} paradigm that simplifies the animation design process. Concurrently, we develop an algorithm animation system called TANGO (Transition-based Animation Generation) based upon the framework. TANGO supports two-dimensional color animations in a window-based workstation environment. It provides programmers with the capabilities to produce sophisticated, real-time views of their programs with a minimum of graphics coding. Using TANGO, programmers create animations by writing routines in an algorithm animation design language or by using a direct-manipulation, demonstrational animation design tool.
Article
We present a novel dynamic graph visualization technique based on node-link diagrams. The graphs are drawn side-byside from left to right as a sequence of narrow stripes that are placed perpendicular to the horizontal time line. The hierarchically organized vertices of the graphs are arranged on vertical, parallel lines that bound the stripes; directed edges connect these vertices from left to right. To address massive overplotting of edges in huge graphs, we employ a splatting approach that transforms the edges to a pixel-based scalar field. This field represents the edge densities in a scalable way and is depicted by non-linear color mapping. The visualization method is complemented by interaction techniques that support data exploration by aggregation, filtering, brushing, and selective data zooming. Furthermore, we formalize graph patterns so that they can be interactively highlighted on demand. A case study on software releases explores the evolution of call graphs extracted from the JUnit open source software project. In a second application, we demonstrate the scalability of our approach by applying it to a bibliography dataset containing more than 1.5 million paper titles from 60 years of research history producing a vast amount of relations between title words.
Conference Paper
This paper presents an algorithm for drawing a sequence of graphs that contain an inherent grouping of their vertex set into clusters. It differs from previous work on dynamic graph drawing in the emphasis that is put on maintaining the clustered structure of the graph during incremental layout. The algorithm works online and allows arbitrary modifications to the graph. It is generic and can be implemented using a wide range of static force-directed graph layout tools. The paper introduces several metrics for measuring layout quality of dynamic clustered graphs. The performance of our algorithm is analyzed using these metrics. The algorithm has been successfully applied to visualizing mobile object software
Conference Paper
A useful starting point for designing advanced graphical user interfaces is the visual information seeking Mantra: overview first, zoom and filter, then details on demand. But this is only a starting point in trying to understand the rich and varied set of information visualizations that have been proposed in recent years. The paper offers a task by data type taxonomy with seven data types (one, two, three dimensional data, temporal and multi dimensional data, and tree and network data) and seven tasks (overview, zoom, filter, details-on-demand, relate, history, and extracts)
Conference Paper
Algorithm animation is a form of program visualization that is concerned with dynamic and interactive graphical displays of a program's fundamental operations. The paper describes the Zeus algorithm animation system. Zeus is noteworthy for its use of objects, strong-typing, parallelism, and graphical development of views. Also of interest is how the system can be used for building multi-view editors
Article
Even though interaction is an important part of information visualization (Infovis), it has garnered a relatively low level of attention from the Infovis community. A few frameworks and taxonomies of Infovis interaction techniques exist, but they typically focus on low-level operations and do not address the variety of benefits interaction provides. After conducting an extensive review of Infovis systems and their interactive capabilities, we propose seven general categories of interaction techniques widely used in Infovis: 1) Select, 2) Explore, 3) Reconfigure, 4) Encode, 5) Abstract/Elaborate, 6) Filter, and 7) Connect. These categories are organized around a user's intent while interacting with a system rather than the low-level interaction techniques provided by a system. The categories can act as a framework to help discuss and evaluate interaction techniques and hopefully lay an initial foundation toward a deeper understanding and a science of interaction.