Fabian Beck 0001

dblp:b/FabianBeck · DBLP profile ↗
← Back
64ranked-venue papers
16as first author
11since 2021 · last 2025
0000-0003-4042-3043ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Graphics, computer vision, multimedia, augmented reality and games · 33 · 7 first-author · 7 since 2021Human-computer interaction and ubiquitous computing · 27 · 5 first-author · 5 since 2021Software engineering, systems software and programming languages · 25 · 8 first-author · 3 since 2021
YearPublicationVenuePosition
2025 PUREsuggest: Citation-Based Literature Search and Visual Exploration with Keyword-Controlled Rankings
abstract
Citations allow quickly identifying related research. If multiple publications are selected as seeds, specific suggestions for related literature can be made based on the number of incoming and outgoing citation links to this selection. Interactively adding recommended publications to the selection refines the next suggestion and incrementally builds a relevant collection of publications. Following this approach, the paper presents a search and foraging approach, PUREsuggest, which combines citation-based suggestions with augmented visualizations of the citation network. The focus and novelty of the approach is, first, the transparency of how the rankings are explained visually and, second, that the process can be steered through user-defined keywords, which reflect topics of interests. The system can be used to build new literature collections, to update and assess existing ones, as well as to use the collected literature for identifying relevant experts in the field. We evaluated the recommendation approach through simulated sessions and performed a user study investigating search strategies and usage patterns supported by the interface.
Fabian Beck 0001
IEEE Trans. Vis. Comput. Graph.1
2024 ViSCitR: Visual Summarization and Comparison of Hotel Reviews
abstract
Despite the availability of hotel booking platforms with customer reviews, selecting the best hotel or accommodation can still be difficult. This is partly because it is hard to directly contrast multiple shortlisted hotels. We propose a new visual interface, called ViSCitR, that goes beyond existing solutions in visually comparing ratings and personalizing the evaluation based on individual priorities. Targeted at a broad audience, it integrates several dimensions of comparison into a highly interactive document. The document contrasts the hotels visually and textually from different perspectives, including (i) a geographic perspective with points of interest, (ii) a comparison of ratings across different categories, (iii) rating changes over time, and (iv) summaries of the most noted positive and negative points from the review texts. The interface is accompanied by a sidebar for personalization, which supports selecting relevant points of interest and setting priorities. Changing these adapts the visual comparison across all interface sections to match the user’s preferences. A qualitative evaluation with potential hotel customers showed that the personalized visual comparison is valuable for all users, while the advanced features of the interface are leveraged to different extents.
Franziska Huth, Fabian Beck 0001, Johannes Knittel, Shahid Latif, Steffen Koch 0001, Thomas Ertl
PacificVis2
2023 Remote Monitoring and Teleoperation of Autonomous Vehicles - Is Virtual Reality an Option?
abstract
While the promise of autonomous vehicles has led to significant scientific and industrial progress, fully automated, SAE level 5 conform cars will likely not see mass adoption anytime soon. Instead, in many applications, human supervision, such as remote monitoring and teleoperation, will be required for the foreseeable future. While Virtual Reality (VR) has been proposed as one potential interface for teleoperation, its benefits and drawbacks over physical monitoring and teleoperation solutions have not been thoroughly investigated. To this end, we contribute three user studies, comparing and quantifying the performance of and subjective feedback for a VR-based system with an existing monitoring and teleoperation system, which is in industrial use today. Through these three user studies, we contribute to a better understanding of future virtual monitoring and teleoperation solutions for autonomous vehicles. The results of our first user study (n= 16) indicate that a VR interface replicating the physical interface does not outperform the physical interface. It also quantifies the negative effects that combined monitoring and teleoperating tasks have on users irrespective of the interface being used. The results of the second user study (n= 24) indicate that the perceptual and ergonomic issues caused by VR outweigh its benefits, like better concentration through isolation. The third follow-up user study (n= 24) specifically targeted the perceptual and ergonomic issues of VR; the subjective feedback of this study indicates that newer-generation VR headsets have the potential to catch up with the current physical displays.
Snehanjali Kalamkar, Verena Biener, Fabian Beck 0001, Jens Grubert
ISMAR3
2023 Visually Analyzing Company-Wide Software Service Dependencies: An Industrial Case Study
abstract
Managing dependencies between software services is a crucial task for any company operating cloud applications. Visualizations can help to understand and maintain these com-plex dependencies. In this paper, we present a force-directed service dependency visualization and filtering tool that has been developed and used within SAP. The tool's use cases include guiding service retirement as well as understanding service deployment landscapes and their relationship to the company's organizational structure. We report how we built and adapted the tool under strict time constraints to address the requirements of our users. We further share insights on how we enabled internal adoption. For us, starting with a minimal viable visualization and then quickly responding to user feedback was essential for convincing users of the tool's value. The final version of the tool enabled users to visually understand company-wide service consumption, supporting data-driven decision making.
Sebastian Baltes, Brian Pfitzmann, Thomas Kowark, Christoph Treude, Fabian Beck 0001
VISSOFT5
2023 Visually Abstracting Event Sequences as Double Trees Enriched with Category-Based Comparison
abstract
Abstract Event sequence visualization aids analysts in many domains to better understand and infer new insights from event data. Analysing behaviour before or after a certain event of interest is a common task in many scenarios. In this paper, we introduce, formally define, and position double trees as a domain‐agnostic tree visualization approach for this task. The visualization shows the sequences that led to the event of interest as a tree on the left, and those that followed on the right. Moreover, our approach enables users to create selections based on event attributes to interactively compare the events and sequences along colour‐coded categories. We integrate the double tree and category‐based comparison into a user interface for event sequence analysis. In three application examples, we show a diverse set of scenarios, covering short and long time spans, non‐spatial and spatial events, human and artificial actors, to demonstrate the general applicability of the approach.
Cedric Krause, Shivam Agarwal, Michael Burch, Fabian Beck 0001
Comput. Graph. Forum4
2023 VisCoMET: Visually Analyzing Team Collaboration in Medical Emergency Trainings
abstract
Abstract Handling emergencies requires efficient and effective collaboration of medical professionals. To analyze their performance, in an application study, we have developed VisCoMET, a visual analytics approach displaying interactions of healthcare personnel in a triage training of a mass casualty incident. The application scenario stems from social interaction research, where the collaboration of teams is studied from different perspectives. We integrate recorded annotations from multiple sources, such as recorded videos of the sessions, transcribed communication, and eye‐tracking information. For each session, an information‐rich timeline visualizes events across these different channels, specifically highlighting interactions between the team members. We provide algorithmic support to identify frequent event patterns and to search for user‐defined event sequences. Comparing different teams, an overview visualization aggregates each training session in a visual glyph as a node, connected to similar sessions through edges. An application example shows the usage of the approach in the comparative analysis of triage training sessions, where multiple teams encountered the same scene, and highlights discovered insights. The approach was evaluated through feedback from visualization and social interaction experts. The results show that the approach supports reflecting on teams' performance by exploratory analysis of collaboration behavior while particularly enabling the comparison of triage training sessions.
Carina Liebers, Shivam Agarwal, Maximilian Krug, Karola Pitsch, Fabian Beck 0001
Comput. Graph. Forum5
2022 Spatio-temporal Analysis of Multi-agent Scheduling Behaviors on Fixed-track Networks
abstract
Multi-agent systems require coordination among the agents to solve a given task. For movement on fixed-track networks, traditional scheduling algorithms have dominated so far, but the interest in autonomous and intelligent agents is growing as they promise to react to unexpected and exceptional situations more robustly. In this paper, we study data from the Flatland 2020 NeurIPS Competition, where trains move through a virtual rail network. We developed a timeline-based visualization that provides an overview of all train movements in a simulated episode, clearly hinting at different phases, non-optimal routes, and issues such as deadlocks. This view is complemented with a map view and a graph view, interactively linked through highlighting and synchronous animation. Defining regions of interest in the map builds an analysis graph for detailed inspection. A comparison mode allows contrasting two different episodes regarding the same rail network across all views. We have conducted this application study in close collaboration with the Flatland community. Identified analysis goals stem from interviews with key persons of the community, while the approach itself was developed in two iterations based on feedback from experts with diverse backgrounds. This feedback, together with an analysis of the winning submissions from the competition, confirms that the initial analysis goals can be answered.
Shivam Agarwal, Günter Wallner, Jeremy D. Watson, Fabian Beck 0001
PacificVis4
2022 Spike - A code editor plugin highlighting fine-grained changes
abstract
Information about source code changes is important for many software development activities. As such, modern IDEs, including, IntelliJ IDEA and Visual Studio Code, show visual clues within the code editor that highlight lines that have been changed since the last synchronization with the code repository. However, the granularity of the change information is limited to a line level, showing mainly a small colored icon on the left side of the lines that have been added, deleted, or modified.This paper introduces Spike, a source code highlighting plugin that uses the font color to visually encode fine-grained version difference information within the code editor. In contrast to previously mentioned tools, Spike can highlight insertions, deletions, updates, and refactorings all in a same line. Our plugin also enriches the source code with small icons that allow retrieving detailed information about a given code change. We perform an exploratory user study with five professional software engineers. Our results show that our approach is able to assist practitioners with complex comprehension tasks about software history within the code editor.
Ronald Escobar, Juan Pablo Sandoval Alcocer, Hagen Tarner, Fabian Beck 0001, Alexandre Bergel
VISSOFT4
2022 Kori: Interactive Synthesis of Text and Charts in Data Documents
abstract
Charts go hand in hand with text to communicate complex data and are widely adopted in news articles, online blogs, and academic papers. They provide graphical summaries of the data, while text explains the message and context. However, synthesizing information across text and charts is difficult; it requires readers to frequently shift their attention. We investigated ways to support the tight coupling of text and charts in data documents. To understand their interplay, we analyzed the design space of chart-text references through news articles and scientific papers. Informed by the analysis, we developed a mixed-initiative interface enabling users to construct interactive references between text and charts. It leverages natural language processing to automatically suggest references as well as allows users to manually construct other references effortlessly. A user study complemented with algorithmic evaluation of the system suggests that the interface provides an effective way to compose interactive data documents.
Shahid Latif, Fabian Beck 0001
IEEE Trans. Vis. Comput. Graph.4
2021 Visually Analyzing the Structure and Code Quality of Component-based Web Applications
abstract
Monitoring code quality and dependencies is an important task to keep software maintainable. While generally well researched, only little work on visually analyzing code quality of component-based front-end web applications exists that considers the specifics of such software systems. We propose an approach to visualize dependencies and code quality metrics of component-based JavaScript React applications. Our prototype implementation uses a node-link diagram for dependency visualization, tailored to the specific component structure of React applications and enriched with various visual cues. It is linked with different panels to show code quality and exact source code locations. Recommendations on how the quality of the system under analysis can be improved and refactored are provided. We evaluated our prototype in a small user study with four participants and found that it helped in program comprehension tasks and finding refactoring opportunities.
Hagen Tarner, Daniel van den Bongard, Fabian Beck 0001
VISSOFT3
2021 A Deeper Understanding of Visualization-Text Interplay in Geographic Data-driven Stories
abstract
Abstract Data‐driven stories comprise of visualizations and a textual narrative. The two representations coexist and complement each other. Although existing research has explored the design strategies and structure of such stories, it remains an open research question how the two representations play together on a detailed level and how they are linked with each other. In this paper, we aim at understanding the fine‐grained interplay of text and visualizations in geographic data‐driven stories. We focus on geographic content as it often includes complex spatiotemporal data presented as versatile visualizations and rich textual descriptions. We conduct a qualitative empirical study on 22 stories collected from a variety of news media outlets; 10 of the stories report the COVID‐19 pandemic, the others cover diverse topics. We investigate the role of every sentence and visualization within the narrative to reveal how they reference each other and interact. Moreover, we explore the positioning and sequence of various parts of the narrative to find patterns that further consolidate the stories. Drawing from the findings, we discuss study implications with respect to best practices and possibilities to automate the report generation.
Shahid Latif, Siming Chen 0001, Fabian Beck 0001
Comput. Graph. Forum3
2020 Visualizing AI Playtesting Data of 2D Side-scrolling Games
abstract
Human playtesting is a useful step in the game development process, but involves high economic costs and is time-consuming. While playtesting through artificial intelligence is gaining attention, it is challenging to analyze the collected data. We address the challenge by proposing visualizations to derive insights about level design in 2D side-scrolling games. To focus on the navigation behavior in the level design, we study the trajectories of computer agents trained using artificial intelligence. We demonstrate the effectiveness of our approach by implementing a web-based prototype and presenting the insights gained from the visualizations for the game Sonic the Hedgehog 2. We highlight lessons learned and directions to customize the approach for other analysis goals of playtesting.
Shivam Agarwal, Günter Wallner, Fabian Beck 0001
CoG4
2020 Can a Chatbot Support Software Engineers with Load Testing? Approach and Experiences
abstract
Even though load testing is an established technique to assess load-related quality properties of software systems, it is applied only seldom and with questionable results. Indeed, configuring, executing, and interpreting results of a load test require high effort and expertise. Since chatbots have shown promising results for interactively supporting complex tasks in various domains (including software engineering), we hypothesize that chatbots can provide developers suitable support for load testing. In this paper, we present PerformoBot, our chatbot for configuring and running load tests. In a natural language conversation, PerformoBot guides developers through the process of properly specifying the parameters of a load test, which is then automatically executed by PerformoBot using a state-of-the-art load testing tool. After the execution, PerformoBot provides developers a report that answers the respective concern. We report on results of a user study that involved 47 participants, in which we assessed our tool's acceptance and effectiveness. We found that participants in the study, particularly those with a lower level of expertise in performance engineering, had a mostly positive view of PerformoBot.
Dusan Okanovic, Samuel Beck, Lasse Merz, Christoph Zorn, Leonel Merino, André van Hoorn, Fabian Beck 0001
ICPE7
2020 Set Streams: Visual Exploration of Dynamic Overlapping Sets
abstract
Abstract In many applications, membership of set elements changes over time. Since each element can be present in multiple sets, the sets also overlap. As a result, it becomes challenging to visualize the temporal change in set membership of elements across several timesteps while showing individual set intersections. We propose Set Streams, a visualization technique that represents changing set structures on a timeline as branching and merging streams. The streams encode the changing membership of elements with set intersections. A query‐based selection mechanism supports a flexible comparison of selected groups of elements across the temporal evolution. The main timeline view is complemented with additional panels to provide details about the elements. While the proposed visualization is an application‐independent visualization technique for dynamic sets, we demonstrate its effectiveness and applicability through three diverse application examples and expert feedback.
Shivam Agarwal, Fabian Beck 0001
Comput. Graph. Forum2
2020 Bombalytics: Visualization of Competition and Collaboration Strategies of Players in a Bomb Laying Game
abstract
Abstract Competition and collaboration form complex interaction patterns between the agents and objects involved. Only by understanding these interaction patterns, we can reveal the strategies the participating parties applied. In this paper, we study such competition and collaboration behavior for a computer game. Serving as a testbed for artificial intelligence, the multiplayer bomb laying game Pommerman provides a rich source of advanced behavior of computer agents. We propose a visualization approach that shows an overview of multiple games, with a detailed timeline‐based visualization for exploring the specifics of each game. Since an analyst can only fully understand the data when considering the direct and indirect interactions between agents, we suggest various visual encodings of these interactions. Based on feedback from expert users and an application example, we demonstrate that the approach helps identify central competition strategies and provides insights on collaboration.
Shivam Agarwal, Günter Wallner, Fabian Beck 0001
Comput. Graph. Forum3
2020 Guest Editors' Introduction: Special Section on IEEE PacificVis 2020
abstract
The five papers in this special section were from the 2020 IEEE Pacific Visualization Symposium (IEEE PacificVis), which was scheduled to be hosted by Tianjin University and held in Tianjin, China, from April 14 to 17, 2020.
Fabian Beck 0001, Jinwook Seo, Chaoli Wang 0001
IEEE Trans. Vis. Comput. Graph.1
2020 Exploranative Code Quality Documents
abstract
Good code quality is a prerequisite for efficiently developing maintainable software. In this paper, we present a novel approach to generate exploranative (explanatory and exploratory) data-driven documents that report code quality in an interactive, exploratory environment. We employ a template-based natural language generation method to create textual explanations about the code quality, dependent on data from software metrics. The interactive document is enriched by different kinds of visualization, including parallel coordinates plots and scatterplots for data exploration and graphics embedded into text. We devise an interaction model that allows users to explore code quality with consistent linking between text and visualizations; through integrated explanatory text, users are taught background knowledge about code quality aspects. Our approach to interactive documents was developed in a design study process that included software engineering and visual analytics experts. Although the solution is specific to the software engineering scenario, we discuss how the concept could generalize to multivariate data and report lessons learned in a broader scope.
Haris Mumtaz, Shahid Latif, Fabian Beck 0001, Daniel Weiskopf
IEEE Trans. Vis. Comput. Graph.3
2019 Performance Evolution Matrix: Visualizing Performance Variations Along Software Versions
abstract
Software performance may be significantly affected by source code modifications. Understanding the effect of these changes along different software versions is a challenging and necessary activity to debug performance failures. It is not sufficiently supported by existing profiling tools and visualization approaches. Practitioners would need to manually compare calling context trees and call graphs. We aim at better supporting the comparison of benchmark executions along multiple software versions. We propose Performance Evolution Matrix, an interactive visualization technique that contrasts runtime metrics to source code changes. It combines a comparison of time series data and execution graphs in a matrix layout, showing performance and source code metrics at different levels of granularity. The approach guides practitioners from the high-level identification of a performance regression to the changes that might have caused the issue. We conducted a controlled experiment with 12 participants to provide empirical evidence of the viability of our method. The results indicate that our approach can reduce the effort for identifying sources of performance regressions compared to traditional profiling visualizations.
Juan Pablo Sandoval Alcocer, Fabian Beck 0001, Alexandre Bergel
VISSOFT2
2019 Enhancing Commit Graphs with Visual Runtime Clues
abstract
Monitoring software performance evolution is a daunting and challenging task. This paper proposes a lightweight visualization technique that contrasts source code variation with the memory consumption and execution time of a particular benchmark. The visualization fully integrates with the commit graph as common in many software repository managers. We illustrate the usefulness of our approach with two application examples. We expect our technique to be beneficial for practitioners who wish to easily review the impact of source code commits on software performance.
Juan Pablo Sandoval Alcocer, Harold Camacho Jaimes, Diego Costa 0001, Alexandre Bergel, Fabian Beck 0001
VISSOFT5
2019 VIS Author Profiles: Interactive Descriptions of Publication Records Combining Text and Visualization
abstract
Publication records and collaboration networks are important for assessing the expertise and experience of researchers. Existing digital libraries show the raw publication lists in author profiles, whereas visualization techniques focus on specific subproblems. Instead, we look at publication records from various perspectives mixing low-level publication data with high-level abstractions and background information. This work presents VIS Author Profiles, a novel approach to generate integrated textual and visual descriptions to highlight patterns in publication records. We leverage template-based natural language generation to summarize notable publication statistics, evolution of research topics, and collaboration relationships. Seamlessly integrated visualizations augment the textual description and are interactively connected with each other and the text. The underlying publication data and detailed explanations of the analysis are available on demand. We compare our approach to existing systems by taking into account information needs of users and demonstrate its usefulness in two realistic application examples.
Shahid Latif, Fabian Beck 0001
IEEE Trans. Vis. Comput. Graph.2
2019 Interactive map reports summarizing bivariate geographic data
abstract
Bivariate map visualizations use different encodings to visualize two variables but comparison across multiple encodings is challenging. Compared to a univariate visualization, it is significantly harder to read regional differences and spot geographical outliers. Especially targeting inexperienced users of visualizations, we advocate the use of natural language text for augmenting map visualizations and understanding the relationship between two geo-statistical variables. We propose an approach that selects interesting findings from data analysis, generates a respective text and visualization, and integrates both into a single document. The generated reports interactively link the visualization with the textual narrative. Users can get additional explanations and have the ability to compare different regions. The text generation process is flexible and adapts to various geographical and contextual settings based on small sets of parameters. We showcase this flexibility through a number of application examples.
Shahid Latif, Fabian Beck 0001
Vis. Informatics2
2018 Generating Accurate and Compact Edit Scripts Using Tree Differencing
abstract
For analyzing changes in source code, edit scriptsare used to describe the differences between two versions of afile. These scripts consist of a list of actions that, applied to thesource file, result in the new version of the file. In contrast toline-based source code differencing, tree-based approaches suchas GumTree, MTDIFF, or ChangeDistiller extract changes bycomparing the abstract syntax trees (AST) of two versions of asource file. One benefit of tree-based approaches is their abilityto capture moved (sub) trees in the AST. Our approach, theIterative Java Matcher (IJM), builds upon GumTree and aims atgenerating more accurate and compact edit scripts that capturethe developer's intent. This is achieved by improving the qualityof the generated move and update actions, which are the mainsource of inaccurate actions generated by previous approaches. To evaluate our approach, we conducted a study with 11 external experts and manually analyzed the accuracy of 2400 randomly selected editactions. Comparing IJM to GumTree and MTDIFF, the resultsshow that IJM provides better accuracy for move and updateactions and is more beneficial to understanding the changes.
Veit Frick, Thomas Grassauer, Fabian Beck 0001, Martin Pinzger 0001
ICSME3
2018 Visual Analytics for Decomposing Temporal Event Series of Production Lines
abstract
The temporal analysis of events in a production line helps manufacturing experts get a better understanding of the line's performance and provides ideas for improvement. Especially the identification of recurring error patterns is important, because these patterns can be an indicator of systematic production issues. We present a visual analytics approach to analyze event reports of a production line. Reported events are shown as a time series plot that can be decomposed into a trend, seasonal, and remainder component by applying Seasonal Trend decomposition using Loess (STL). To find specific event patterns, the data is filtered based on aspects such as the event description or the processed product. Identified temporal patterns can be extracted from the original event series and compared visually with each other. In addition to predefined settings, experts can define a subseries of the event series and the period length of STL's seasonal component through an automatically optimized brushing of the undecomposed plot. We developed the approach together with an industry partner. To evaluate our approach, we conducted two pair analytics sessions with our industry partner's experts. We demonstrate use cases from these sessions that showcase our approach's analytical potential. Moreover, we present general expert feedback that we collected through semi-structured interviews after the pair analytics sessions.
Dominik Herr, Fabian Beck 0001, Thomas Ertl
IV2
2018 Detecting Bad Smells in Software Systems with Linked Multivariate Visualizations
abstract
Parallel coordinates plots and RadViz are two visualization techniques that deal with multivariate data. They complement each other in identifying data patterns, clusters, and outliers. In this paper, we analyze multivariate software metrics linking the two approaches for detecting outliers, which could be the indicators for bad smells in software systems. Parallel coordinates plots provide an overview, whereas the RadViz representation allows for comparing a smaller subset of metrics in detail. We develop an interactive visual analytics system supporting automatic detection of bad smell patterns. In addition, we investigate the distinctive properties of outliers that are not considered harmful, but noteworthy for other reasons. We demonstrate our approach with open source Java systems and describe detected bad smells and other outlier patterns.
Haris Mumtaz, Fabian Beck 0001, Daniel Weiskopf
VISSOFT2
2018 Visual Analysis of Inclusion Dynamics in Two-Phase Flow
abstract
In single-phase flow visualization, research focuses on the analysis of vector field properties. In two-phase flow, in contrast, analysis of the phase components is typically of major interest. So far, visualization research of two-phase flow concentrated on proper interface reconstruction and the analysis thereof. In this paper, we present a novel visualization technique that enables the investigation of complex two-phase flow phenomena with respect to the physics of breakup and coalescence of inclusions. On the one hand, we adapt dimensionless quantities for a localized analysis of phase instability and breakup, and provide detailed inspection of breakup dynamics with emphasis on oscillation and its interplay with rotational motion. On the other hand, we present a parametric tightly linked space-time visualization approach for an effective interactive representation of the overall dynamics. We demonstrate the utility of our approach using several two-phase CFD datasets.
Grzegorz Karol Karch, Fabian Beck 0001, Moritz Ertl, Christian Meister, Kathrin Schulte, Bernhard Weigand, Thomas Ertl, Filip Sadlo
IEEE Trans. Vis. Comput. Graph.2
2018 Visual Interactive Map Matching
abstract
Map matching is the process of assigning observed geographic positions of vehicles and their trajectories to the actual road links in a road network. In this paper, we present Visual Interactive Map Matching, a visual analytics approach to fine-tune the data preprocessing and matching process. It is based on ST-matching, a state-of-the-art and easy-to-understand map matching algorithm. Parameters of the preprocessing step and algorithm can be optimized with immediate visual feedback. Visualizations show current matching issues and performance metrics on a map and in diagrams. Manual and computer-supported editing of the road network model leads to a refined alignment of trajectories and roads. We demonstrate our approach with large-scale taxi trajectory data. We show that optimizing the matching on a subsample results in considerably improved matching quality, also when later scaled to the full dataset. An optimized matching ensures data faithfulness and prevents misinterpretation when the matched data might be investigated in follow-up analysis.
Robert Krüger, Georgi Simeonov, Fabian Beck 0001, Thomas Ertl
IEEE Trans. Vis. Comput. Graph.3
2017 Method Execution Reports: Generating Text and Visualization to Describe Program Behavior
abstract
To obtain an accurate understanding of program behavior, developers use a set of tools and techniques such as logging outputs, debuggers, profilers, and visualizations. These support an in-depth analysis of the program behavior, each approach focusing on a different aspect. What is missing, however, is an approach to get an overview of a program execution. As a first step to fill this gap, this paper presents an approach to generate Method Execution Reports. Each report summarizes the execution of a selected method for a specific execution of the program using natural-language text and embedded visualizations. A report provides an overview of the dynamic calls and time consumption related to the selected method. We present a framework to generate these reports and discuss the specific instantiation and phrasing we have chosen. Our results comprise feedback from developers discussing the understandability and usefulness of our approach and a task-based comparison to state-of-the-art solutions.
Fabian Beck 0001, Hafiz Ammar Siddiqui, Alexandre Bergel, Daniel Weiskopf
VISSOFT1
2017 A Dashboard for Visualizing Software Engineering Processes Based on ESSENCE
abstract
While traditional project planning approaches focus on precise scheduling of tasks, the ESSENCE standard proposes a higher-level approach that focuses on monitoring. Hence, a new kind of process visualization that picks up ideas of Kanban boards and physical cards is sketched in the standard. This tool paper presents a dashboard application refining, extending, and implementing these ideas based on five use cases posed by two industry partners. It demonstrates that a high degree of support for project management can be achieved by using a relatively small set of visualization means.
Sebastian Brandt 0003, Michael Striewe, Fabian Beck 0001, Michael Goedicke
VISSOFT3
2017 A Taxonomy and Survey of Dynamic Graph Visualization
abstract
Abstract 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.
Fabian Beck 0001, Michael Burch, Stephan Diehl 0001, Daniel Weiskopf
Comput. Graph. Forum1
2017 Visual Comparison of Eye Movement Patterns
abstract
Abstract In eye tracking research, finding eye movement patterns and similar strategies between participants’ eye movements is important to understand task solving strategies and obstacles. In this application paper, we present a graph comparison method using radial graphs that show Areas of Interest (AOIs) and their transitions. An analyst investigates a single graph based on dwell times, directed transitions, and temporal AOI sequences. Two graphs can be compared directly and temporal changes may be analyzed. A list and matrix approach facilitate the analyst to contrast more than two graphs guided by visually encoded graph similarities. We evaluated our approach in case studies with three eye tracking and visualization experts. They identified temporal transition patterns of eye movements across participants, groups of participants, and outliers.
Tanja Blascheck, Markus Schweizer, Fabian Beck 0001, Thomas Ertl
Comput. Graph. Forum3
2017 Visualizing Group Structures in Graphs: A Survey
abstract
Abstract Graph visualizations encode relationships between objects. Abstracting the objects into group structures provides an overview of the data. Groups can be disjoint or overlapping, and might be organized hierarchically. However, the underlying graph still needs to be represented for analyzing the data in more depth. This work surveys research in visualizing group structures as part of graph diagrams. A particular focus is the explicit visual encoding of groups, rather than only using graph layout to indicate groups implicitly. We introduce a taxonomy of visualization techniques structuring the field into four main categories: visual node attributes vary properties of the node representation to encode the grouping, juxtaposed approaches use two separate visualizations, superimposed techniques work with two aligned visual layers, and embedded visualizations tightly integrate group and graph representation. The derived taxonomies for group structure and visualization types are also applied to group visualizations of edges. We survey group‐only, group–node, group–edge and group–network tasks that are described in the literature as use cases of group visualizations. We discuss results from evaluations of existing visualization techniques as well as main areas of application. Finally, we report future challenges based on interviews we conducted with leading researchers of the field.
Corinna Vehlow, Fabian Beck 0001, Daniel Weiskopf
Comput. Graph. Forum2
2017 Guest editorial of the special section on software visualization
Alexandre Bergel, Fabian Beck 0001
Inf. Softw. Technol.2
2017 Word-Sized Graphics for Scientific Texts
abstract
Generating visualizations at the size of a word creates dense information representations often called sparklines. The integration of word-sized graphics into text could avoid additional cognitive load caused by splitting the readers' attention between figures and text. In scientific publications, these graphics make statements easier to understand and verify because additional quantitative information is available where needed. In this work, we perform a literature review to find out how researchers have already applied such word-sized representations. Illustrating the versatility of the approach, we leverage these representations for reporting empirical and bibliographic data in three application examples. For interactive Web-based publications, we explore levels of interactivity and discuss interaction patterns to link visualization and text. We finally call the visualization community to be a pioneer in exploring new visualization-enriched and interactive publication formats.
Fabian Beck 0001, Daniel Weiskopf
IEEE Trans. Vis. Comput. Graph.1
2016 TravelDiff: Visual comparison analytics for massive movement patterns derived from Twitter
abstract
Geo-tagged microblog data covers billions of movement patterns on a global and local scale. Understanding these patterns could guide urban and traffic planning or help coping with disaster situations. We present a visual analytics system to investigate travel trajectories of people reconstructed from microblog messages. To analyze seasonal changes and events and to validate movement patterns against other data sources, we contribute highly interactive visual comparison methods that normalize and contrast trajectories as well as density maps within a single view. We also compute an adaptive hierarchical graph from the trajectories to abstract individual movements into higher-level structures. Specific challenges that we tackle are, among others, the spatio-temporal sparsity of the data, the volume of data varying by region, and a diverse mix of means of transportation. The applicability of our approach is presented in three case studies.
Robert Krüger, Guodao Sun, Fabian Beck 0001, Ronghua Liang, Thomas Ertl
PacificVis3
2016 Visual monitoring of process runs: An application study for stored procedures
abstract
Stored procedures are used in database systems to process and aggregate data. Hundreds of stored procedures often form a complex process network with documented and hidden dependencies that is difficult to understand, maintain, and debug. This paper introduces a novel approach to support such tasks by visually comparing a specific process run to other runs of the same process. The visualization is based on a force-directed node-link diagram arranged on a timeline. Color coding, histograms, and trend charts are used to highlight temporal deviations. The approach has been implemented as an interactive web application and used by professional database developers for solving realistic maintenance and debugging tasks. The feedback of these expert users confirms the usefulness and practical relevance of the approach.
Fabian Beck 0001, Steffen Lohmann
PacificVis2
2016 Identifying modularization patterns by visual comparison of multiple hierarchies
abstract
Software is modularized to make its high complexity manageable. However, a multitude of modularization criteria exists and is applied. Hence, to extend, reuse, or restructure a system, it is important for developers to understand which criteria have been used. To this end, we provide an interactive visualization approach that compares the current modularization of a system to several software clustering results. The visualization is based on juxtaposed icicle plot representations of the hierarchical modularizations, encoding similarity by color. A detailed comparison is facilitated by an advanced selection concept. Coupling graphs, which form the basis for software clustering, can be explored on demand in matrix representations. We discuss typical modularization patterns that indicate criteria used for structuring the software or suggest opportunities for partial remodularization of the system. We apply the approach to analyze 16 open source Java projects. The results show that identifying those modularization patterns provides valuable insights and can be done efficiently.
Fabian Beck 0001, Jan Melcher, Daniel Weiskopf
ICPC1
2016 Visually Exploring Object Mutation
abstract
Object-oriented programming supports object mutation during a program execution. A mutation occurs whenever a value is assigned to an object field. Analyzing the evolution of object mutation is known to be difficult. Unfortunately, classical code debuggers painfully support the analysis of object mutations. Object Evolution Blueprint is a visualization dedicated to exploring object mutation over time. Our blueprint visually and concisely represents sequences of field mutations. The history of each field is adequately shown with respect to the dynamic value types. We have observed the use of our blueprint with three practitioners. Our visualization has been well received and accepted to complete two different software comprehension tasks. Moreover, our user study shows that the visualization is both intuitive and simple to learn.
Rodrigo Schulz, Fabian Beck 0001, Jhonny Cerezo, Alexandre Bergel
VISSOFT2
2016 Visual Analysis and Dissemination of Scientific Literature Collections with SurVis
abstract
Bibliographic data such as collections of scientific articles and citation networks have been studied extensively in information visualization and visual analytics research. Powerful systems have been built to support various types of bibliographic analysis, but they require some training and cannot be used to disseminate the insights gained. In contrast, we focused on developing a more accessible visual analytics system, called SurVis, that is ready to disseminate a carefully surveyed literature collection. The authors of a survey may use our Web-based system to structure and analyze their literature database. Later, readers of the survey can obtain an overview, quickly retrieve specific publications, and reproduce or extend the original bibliographic analysis. Our system employs a set of selectors that enable users to filter and browse the literature collection as well as to control interactive visualizations. The versatile selector concept includes selectors for textual search, filtering by keywords and meta-information, selection and clustering of similar publications, and following citation links. Agreement to the selector is represented by word-sized sparkline visualizations seamlessly integrated into the user interface. Based on an analysis of the analytical reasoning process, we derived requirements for the system. We developed the system in a formative way involving other researchers writing literature surveys. A questionnaire study with 14 visual analytics experts confirms that SurVis meets the initially formulated requirements.
Fabian Beck 0001, Daniel Weiskopf
IEEE Trans. Vis. Comput. Graph.1
2016 Visualizing Dynamic Hierarchies in Graph Sequences
abstract
Graphs are used to model relations between objects, where these objects can be grouped hierarchically based on their connectivity. In many applications, the relations change over time and so does the hierarchical group structure. We developed a visualization technique that supports the analysis of the topology and the hierarchical group structure of a dynamic graph and the tracking of changes over time. Each graph of a sequence is visualized by an adjacency matrix, where the hierarchical group structure is encoded within the matrix using indentation and nested contours, complemented by icicle plots attached to the matrices. The density within and between subgroups of the hierarchy is represented within the matrices using a gray scale. To visualize changes, transitions and dissimilarities between the hierarchically structured graphs are shown using a flow metaphor and color coding. The design of our visualization technique allows us to show more than one hierarchical group structure of the same graph by stacking the sequences, where hierarchy comparison is supported not only within but also between sequences. To improve the readability, we minimize the number of crossing curves within and between sequences based on a sorting algorithm that sweeps through the sequences of hierarchies.
Corinna Vehlow, Fabian Beck 0001, Daniel Weiskopf
IEEE Trans. Vis. Comput. Graph.2
2015 Navigate, Understand, Communicate: How Developers Locate Performance Bugs
abstract
Background: Performance bugs can lead to severe issues regarding computation efficiency, power consumption, and user experience. Locating these bugs is a difficult task because developers have to judge for every costly operation whether runtime is consumed necessarily or unnecessarily. Objective: We wanted to investigate how developers, when locating performance bugs, navigate through the code, understand the program, and communicate the detected issues. Method: We performed a qualitative user study observing twelve developers trying to fix documented performance bugs in two open source projects. The developers worked with a profiling and analysis tool that visually depicts runtime information in a list representation and embedded into the source code view. Results: We identified typical navigation strategies developers used for pinpointing the bug, for instance, following method calls based on runtime consumption. The integration of visualization and code helped developers to understand the bug. Sketches visualizing data structures and algorithms turned out to be valuable for externalizing and communicating the comprehension process for complex bugs. Conclusion: Fixing a performance bug is a code comprehension and navigation problem. Flexible navigation features based on executed methods and a close integration of source code and performance information support the process.
Sebastian Baltes, Oliver Moseler, Fabian Beck 0001, Stephan Diehl 0001
ESEM3
2015 Visualizing the Evolution of Module Workflows
abstract
Module workflows are used to generate custom applications with modular software frameworks. They describe data flow between the modular components and their execution under certain parameter configurations. In many cases, module workflows are modeled in a graphical way by the user. To come up with the final result or to explore multiple solutions, they often undergo many iterations of adaptation. Furthermore, existing workflows may be reused for new applications. We visualize the evolution of module workflows with a focus-and-context approach and visualization techniques for time-dependent data. Our approach provides insight into user behavior and the characteristics of the underlying systems. As our examples show, this can help identify usability issues and indicate options to improve the effectiveness of the system. We demonstrate our approach for module workflows in Vis Trails, a modular visualization system that allows building custom visualizations by combining different modules for processing and visualizing data.
Marcel Hlawatsch, Michael Burch, Fabian Beck 0001, Juliana Freire, Cláudio T. Silva, Daniel Weiskopf
IV3
2015 Rethinking user interfaces for feature location
abstract
Locating features in large software systems is a fundamental maintenance task for developers when fixing bugs and extending software. We introduce In Situ Impact Insight (I3), a novel user interface to support feature location. In addition to a list of search results, I3 provides support for developers during browsing and inspecting the retrieved code entities. In situ visualizations augment results and source code with additional information relevant for further exploration. Developers are able to retrieve details on the textual similarity of a source code entity to the search query and to other entities, as well as the information on co-changed entities from a project's history. Execution traces recorded during program runs can be used as filters to further refine the search results. We implemented I3 as an Eclipse plug-in and tested it in a user study involving 18 students and professional developers that were asked to perform three feature location tasks chosen from the issue tracking system of jEdit. The results of our study suggest that I3's user interface is intuitive and unobtrusively supports developers with the required information when and where they need it.
Fabian Beck 0001, Bogdan Dit, Jaleo Velasco-Madden, Daniel Weiskopf, Denys Poshyvanyk
ICPC1
2015 Visualizing work processes in software engineering with developer rivers
abstract
Work processes involving dozens or hundreds of collaborators are complex and difficult to manage. Problems within the process may have severe organizational and financial consequences. Visualization helps monitor and analyze those processes. In this paper, we study the development of large software systems as an example of a complex work process. We introduce Developer Rivers, a timeline-based visualization technique that shows how developers work on software modules. The flow of developers' activity is visualized by a river metaphor: activities are transferred between modules represented as rivers. Interactively switching between hierarchically organized modules and workload metrics allows for exploring multiple facets of the work process. We study typical development patterns by applying our visualization to Python and the Linux kernel.
Michael Burch, Tanja Munz-Körner, Fabian Beck 0001, Daniel Weiskopf
VISSOFT3
2015 Visualizing the Evolution of Communities in Dynamic Graphs
abstract
Abstract The community structure of graphs is an important feature that gives insight into the high‐level organization of objects within the graph. In real‐world systems, the graph topology is oftentimes not static but changes over time and hence, also the community structure changes. Previous timeline‐based approaches either visualize the dynamic graph or the dynamic community structure. In contrast, our approach combines both in a single image and therefore allows users to investigate the community structure together with the underlying dynamic graph. Our optimized ordering of vertices and selection of colours in combination with interactive highlighting techniques increases the traceability of communities along the time axis. Users can identify visual signatures, estimate the reliability of the derived community structure and investigate whether community evolution interacts with changes in the graph topology. The utility of our approach is demonstrated in two application examples.
Corinna Vehlow, Fabian Beck 0001, P. Auwärter, Daniel Weiskopf
Comput. Graph. Forum2
2014 A dynamic graph visualization perspective on eye movement data
abstract
During eye tracking studies, vast amounts of spatio-temporal data in the form of eye gaze trajectories are recorded. Finding insights into these time-varying data sets is a challenging task. Visualization techniques such as heat maps or gaze plots help find patterns in the data but highly aggregate the data (heat maps) or are difficult to read due to overplotting (gaze plots). In this paper, we propose transforming eye movement data into a dynamic graph data structure to explore the visualization problem from a new perspective. By aggregating gaze trajectories of participants over time periods or Areas of Interest (AOIs), a fair trade-off between aggregation and details is achieved. We show that existing dynamic graph visualizations can be used to display the transformed data and illustrate the approach by applying it to eye tracking data recorded for investigating the readability of tree diagrams.
Michael Burch, Fabian Beck 0001, Michael Raschke, Tanja Blascheck, Daniel Weiskopf
ETRA2
2014 Code Tagging as a Social Game
abstract
Keywords or tags summarize documents on an abstract level and can also be used for describing code fragments. They might be leveraged for retrieving features of a software system, understanding program functionality, or providing additional context. While automatic approaches at best are only able to retrieve information that is already contained in the source code, manual tagging could add valuable extra information from qualified expertise of the developers. However, tagging code is tedious. To make code tagging more fun, we introduce a social gasification approach: developers independently tag code fragments and are rewarded if their solutions conform to the solution of other developers. We implemented the game as a Facebook plug-in. A pilot user study suggests that the game mechanics are motivating and promote the proposition of reasonable tags.
Benjamin Biegel 0001, Fabian Beck 0001, Benedikt Lesch, Stephan Diehl 0001
ICSME2
2014 RadCloud: Visualizing Multiple Texts with Merged Word Clouds
abstract
Word clouds are a popular means for summarizing text documents. They usually visualize the word frequencies from single text sources, sometimes along with other attributes. However, the visualization of several text documents in one word cloud has rarely been addressed so far. This paper presents Rad Cloud, a technique for text visualization based on multiple word clouds merged into a single view. Inspired by the Rad Viz approach, the words are radially arranged in an overlap-free layout. The text sources are indicated by the spatial word arrangement and stacked bar charts. The approach has been implemented in an interactive text visualization tool and its usefulness is illustrated by an example.
Michael Burch, Steffen Lohmann, Fabian Beck 0001, Nils Rodrigues, Lorenzo Di Silvestro, Daniel Weiskopf
IV3
2014 Integrating Anomaly Diagnosis Techniques into Spreadsheet Environments
abstract
Although spreadsheets are often faulty, end-users like them for their flexibility. Most existing approaches to spreadsheet diagnosis are fully automated and use static analysis techniques to find anomalies in formulas or methods to derive test cases without user interaction. The few more interactive approaches are based on values already present in spreadsheets as well. In our work, we advance the idea of testing spreadsheets with user-defined test scenarios but encourage visually aided creation of independent test cases by separating the definition of test scenarios from the specific values present in the spreadsheet - just like test code is separated from production code in professional software. We combine the testing approach with static analysis and integrate it into a common visual spreadsheet environment named SIFEI. It supports users in interactively creating, executing, and analyzing their own test scenarios with a number of visual markers. Findings from two qualitative studies indicate that the concept is suitable for casual spreadsheet users.
Daniel Kulesz, Jonas Scheurich, Fabian Beck 0001
VISSOFT3
2014 Get your directories right: From hierarchy visualization to hierarchy manipulation
abstract
Visual comparison of hierarchies such as directory structures is often considered a passive analysis task. Thus, insights gained from the visualization need to be recorded and applied afterwards. In contrast in this paper, we propose and explore an active visual analytics approach focusing on the manipulation of directory structures in the context of comparison. Two directories including subdirectories and files are presented side by side while links between the two representations connect matching files. Embedded into an elaborate interaction concept, drag-and-drop operations allow the users for interactively modifying the directories. We explored different application scenarios of the approach in a qualitative user study.
Rainer Benda, Daniel Rausch 0001, Fabian Beck 0001, Stephan Diehl 0001
VL/HCC3
2014 A directory comparison and manipulation tool
abstract
Nowadays file browsers represent a common means to organize hierarchically structured data provided by a file system. However, when it comes to comparing and merging different directory structures, file browsers often do not explicitly support users to accomplish such a task. In this paper, we present a special-purpose approach focusing on the manipulation of directory structures in the context of comparison. To this end, two directory structures including subdirectories and files are displayed side by side while links between them indicate similar files. Drag-and-drop operations allow the users for interactively manipulating or merging both directory structures.
Rainer Benda, Daniel Rausch 0001, Fabian Beck 0001, Stephan Diehl 0001
VL/HCC3
2013 Analysis of Multi-dimensional Code Couplings
abstract
Software systems consist of hundreds or thousands of files, which are usually not independent of each other but coupled. While it is obvious that structural dependencies like method calls or data accesses create couplings, there also exist other, more indirect forms of coupling that should be considered when modifying, extending, or debugging a system. In contrast to most previous research, in this work, code coupling is considered as a multi-dimensional construct: several forms of structural couplings are contrasted to couplings based on the history and the semantics of the source code entities. The work proposes two novel visualization techniques, which allow for exploring and visually comparing different concepts of coupling. Based on an empirical study on open source systems, the work further provides insights into the relationship between concepts of coupling and the modularization of software, first evidence on the usage of modularization principles can be derived thereof. Finally, a new application for adapting the modularization of a software system-component extraction-is introduced and tested with varying coupling data. This work summarizes the doctoral thesis of the author, suggests directions for future research, and reports lessons learned.
Fabian Beck 0001
ICSM1
2013 Matching Application Requirements with Dynamic Graph Visualization Profiles
abstract
Mapping a dynamic graph dataset to an inappropriate visualization leads to a degradation of visualization performance at some task. To tap the full potential of existing dynamic graph visualization techniques, we propose a methodology for matching application requirements with dynamic graph visualization profiles. We target at supporting experts choosing the right visualization technique. Our methodology describes both the application requirements and the visualization techniques as profiles covering important aesthetic criteria for visualizing dynamic graphs. Characteristics of the graph and task are used to derive the application profile. The probably most appropriate visualization technique is the one whose profile matches best the required application profile. We compile exemplary visualization profiles for representatives of dynamic graph visualization approaches and demonstrate the methodology in a case study.
Fabian Beck 0001, Michael Burch, Stephan Diehl 0001
IV1
2013 In situ understanding of performance bottlenecks through visually augmented code
abstract
Finding and fixing performance bottlenecks requires sound knowledge of the program that is to be optimized. In this paper, we propose an approach for presenting performance-related information to software engineers by visually augmenting source code shown in an editor. Small diagrams at each method declaration and method call visualize the propagation of runtime consumption through the program as well as the interplay of threads in parallelized programs. Advantages of in situ visualization like this over traditional representations, where code and profiling information are shown in different places, promise to be the prevention of a split-attention effect caused by multiple views; information is presented where required, which supports understanding and navigation. We implemented the approach as an IDE plug-in and tested it in a user study with four developers improving the performance of their own programs. The user study provides insights into the process of understanding performance bottlenecks with our approach.
Fabian Beck 0001, Oliver Moseler, Stephan Diehl 0001, Günter Daniel Rey
ICPC1
2013 Finding structures in multi-type code couplings with node-link and matrix visualizations
abstract
Software systems are often modeled and visualized as graphs in order to understand their higher-level structure: code entities are connected by dependencies or couplings. However, when only considering one type of code coupling such as method calls, the understanding gained stays limited to this specific aspect. Encoding multiple types of code coupling in the graph promises to broaden the understanding. Different approaches already exist for visually discerning those types in graph diagrams. In this paper, we study two of these techniquesa node-link and a matrix approach-in a realistic scenario where the classes and interfaces of a system are connected by six different types of code coupling. The explorative user study that we conducted with interactive versions of the two visualizations focuses on getting an insight on how software developers use the visualizations for understanding an unknown system. We classified typical visual structures that the participants were able to identify and connected these structures to software engineering problems. Despite the fundamental difference in approach, the participants identified the same graph structures targeting similar tasks with both visualizations.
Ala Abuthawabeh, Fabian Beck 0001, Dirk Zeckzer, Stephan Diehl 0001
VISSOFT2
2013 Visual monitoring of numeric variables embedded in source code
abstract
Numeric variables are one of the most frequently used data types. During the execution of a program, their values might change often. Tracing these changes can be necessary for understanding specific behavior of the program or for locating bugs. However, using a breakpoint debugger requires tedious stepping, and logging changes implies analyzing large text files. To make the monitoring of numeric variables easier, this work introduces a visualization approach that augments the source code view of an IDE by small, word-sized graphics: the visualizations accompanying the declarations of monitored variables plot read and write accesses on a timeline; detail views can be retrieved on demand. As suggested by a case study, this approach might support program comprehension and debugging.
Fabian Beck 0001, Fabrice Hollerich, Stephan Diehl 0001, Daniel Weiskopf
VISSOFT1
2013 On the impact of software evolution on software clustering
Fabian Beck 0001, Stephan Diehl 0001
Empir. Softw. Eng.1
2012 The Order of Things: How developers sort fields and methods
abstract
In source code files, fields and methods are arranged in linear order. Modern programming languages such as Java do not constrain this order-developers are free to choose any sequence. In this paper we examine the largely unexplored strategies developers apply for ordering fields and methods: First, we use visualization to explore different ordering criteria within two open source Java projects. Second, we verify our observations in a metric-based analysis on an extended set of 16 projects. Third, we present the results of a survey that reflects the opinion and applied ordering strategies of 52 developers. 87% of the participants agreed that ordering of fields and methods is meaningful or important. Our results suggest that there exists a set of criteria repeatedly used for ordering. Among these, the categories defined in the official Java Code Conventions appear to be the primary ordering criterion. However, in the individual strategies of the participants of the survey, we identified 15 ordering criteria additional to the five criteria we considered in the empirical analysis.
Benjamin Biegel 0001, Fabian Beck 0001, Willi Hornig, Stephan Diehl 0001
ICSM2
2012 Rapid Serial Visual Presentation in dynamic graph visualization
abstract
Rapid Serial Visual Presentation is an effective approach for browsing and searching large amounts of data. By presenting subsequent images at high frequency, we utilize the perceptual abilities of the human visual system to rapidly process certain visual features. While this concept is successfully used in video and image browsing, we demonstrate how it can be applied to dynamic graph visualization. In this paper, we introduce a visualization technique for time-varying graphs that is scalable with respect to the number of time steps. The graph visualization is based on the Parallel Edge Splatting technique, which employs a space-efficient display of a sequence of dynamically changing graphs. To illustrate the usefulness of our approach we analyzed method call graphs recorded during the execution of the open source software system JHotDraw. Furthermore, we studied a time-varying social network representing researchers and their dynamic communication structure while attending the ACM Hypertext 2009 conference.
Fabian Beck 0001, Michael Burch, Corinna Vehlow, Stephan Diehl 0001, Daniel Weiskopf
VL/HCC1
2011 On the congruence of modularity and code coupling
abstract
Software systems are modularized to make their inherent complexity manageable. While there exists a set of well-known principles that may guide software engineers to design the modules of a software system, we do not know which principles are followed in practice. In a study based on 16 open source projects, we look at different kinds of coupling concepts between source code entities, including structural dependencies, fan-out similarity, evolutionary coupling, code ownership, code clones, and semantic similarity. The congruence between these coupling concepts and the modularization of the system hints at the modularity principles used in practice. Furthermore, the results provide insights on how to support developers to modularize software systems.
Fabian Beck 0001, Stephan Diehl 0001
SIGSOFT FSE1
2011 Parallel Edge Splatting for Scalable Dynamic Graph Visualization
abstract
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.
Michael Burch, Corinna Vehlow, Fabian Beck 0001, Stephan Diehl 0001, Daniel Weiskopf
IEEE Trans. Vis. Comput. Graph.3
2010 TimeSpiderTrees: A Novel Visual Metaphor for Dynamic Compound Graphs
abstract
Graphs are a mathematical method to model relations between objects. The most common metaphor to visualize graphs is the node-link technique, which typically suffers from visual clutter caused by many edge crossings. Much research has been done on the development of sophisticated algorithms aimed at enhancing the layout with respect to edge crossings and a series of other aesthetic criteria. In this paper we propose a novel visual metaphor, called Time-SpiderTrees, which is based on a radial layout. In our technique, relations are visually indicated by orientation instead of connectedness to circumvent the problem of edge crossings. The strength of this novel visualization technique lies in the visual encoding of time-series relational data in a single view without animation, which helps to preserve the mental map and hence to reduce cognitive efforts.
Michael Burch, Michael Fritz, Fabian Beck 0001, Stephan Diehl 0001
VL/HCC3
2010 Uncovering Strengths and Weaknesses of Radial Visualizations---an Empirical Approach
abstract
Radial visualizations play an important role in the information visualization community. But the decision to choose a radial coordinate system is rather based on intuition than on scientific foundations. The empirical approach presented in this paper aims at uncovering strengths and weaknesses of radial visualizations by comparing them to equivalent ones in Cartesian coordinate systems. We identified memorizing positions of visual elements as a generic task when working with visualizations. A first study with 674 participants provides a broad data spectrum for exploring differences between the two visualization types. A second, complementing study with fewer participants focuses on further questions raised by the first study. Our findings document that Cartesian visualizations tend to outperform their radial counterparts especially with respect to answer times. Nonetheless, radial visualization seem to be more appropriate for focusing on a particular data dimension.
Stephan Diehl 0001, Fabian Beck 0001, Michael Burch
IEEE Trans. Vis. Comput. Graph.2
2009 Towards an Aesthetic Dimensions Framework for Dynamic Graph Visualisations
abstract
Most research on the readability of graph visualization focuses on node-link diagrams of static graphs. But in many applications graphs are not static, but change over time, or graphs are too dense to be drawn as node-link diagrams. In this paper we look at dynamic graph visualizations: We translate the general goal of graph visualization-to convey the underlying information of a graph-into aesthetic dimensions that are applicable in practice. These aesthetic dimensions help to design, compare, and evaluate dynamic graph visualizations.
Fabian Beck 0001, Michael Burch, Stephan Diehl 0001
IV1
2008 Timeline trees: visualizing sequences of transactions in information hierarchies
abstract
In many applications transactions between the elements of an information hierarchy occur over time. For example, the product offers of a department store can be organized into product groups and subgroups to form an information hierarchy. A market basket consisting of the products bought by a customer forms a transaction. Market baskets of one or more customers can be ordered by time into a sequence of transactions. Each item in a transaction is associated with a measure, for example, the amount paid for a product.
Michael Burch, Fabian Beck 0001, Stephan Diehl 0001
AVI2