Former Staff
Former Academic Staff
Hagen Tarner
- Email:
- hagen.tarner (at) paluno.uni-due.de
- Homepage:
- https://hagen-tarner.de
- Author Profiles:
- ORCID
- Google Scholar
- ResearchGate
Bio:
Nach einem Bachelor in Medizin Informatik und einem Master in Medieninformatik arbeite ich seit Mai 2018 an meiner Promotion auf dem Gebiet der Softwarevisualisierung.
Fields of Research:
In meiner Forschung beschäftige ich mich hauptsächlich mit Themen der Informationsvisualisierung, wissenschaftlicher Visualisierung und Computergrafik.
Publications:
- Tarner, Hagen; Beck, Fabian: Visualizing Runtime Evolution Paths in a Multidimensional Space (Work In Progress Paper). In: Companion of the 2023 ACM/SPEC International Conference on Performance Engineering. ACM, Coimbra, Portugal 2023. doi:10.1145/3578245.3585031PDFCitationAbstractDetails
Runtime data of software systems is often of multivariate nature, describing different aspects of performance among other characteristics, and evolves along different versions or changes depending on the execution context. This poses a challenge for visualizations, which are typically only two- or three-dimensional. Using dimensionality reduction, we project the multivariate runtime data to 2D and visualize the result in a scatter plot. To show changes over time, we apply the projection to multiple timestamps and connect temporally adjacent points to form trajectories. This allows for cluster and outlier detection, analysis of co-evolution, and finding temporal patterns. While projected temporal trajectories have been applied to other domains before, we use it to visualize software evolution and execution context changes as evolution paths. We experiment with and report results of two application examples: (I) the runtime evolution along different versions of components from the Apache Commons project, and (II) a benchmark suite from scientific visualization comparing different rendering techniques along camera paths.
- Escobar, Ronald; Sandoval Alcocer, Juan Pablo; Tarner, Hagen; Beck, Fabian; Bergel, Alexandre: Spike – A code editor plugin highlighting fine-grained changes. In: Working Conference on Software Visualization (VISSOFT). Limassol, Cyprus 2022. doi:10.1109/VISSOFT55257.2022.00026CitationAbstractDetails
Information about source code changes is important for many software development activities. As such, modern IDEs, including, \emph{IntelliJ IDEA} and \emph{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.
- Tarner, Hagen; Bruder, Valentin; Frey, Steffen; Ertl, Thomas; Beck, Fabian: Visually Comparing Rendering Performance from Multiple Perspectives. In: Bender, Jan; Botsch, Mario; Keim, Daniel A. (Ed.): Vision, Modeling, and Visualization. The Eurographics Association, Konstanz 2022. doi:10.2312/vmv.20221211PDFCitationAbstractDetails
Evaluation of rendering performance is crucial when selecting or developing algorithms, but challenging as performance can largely differ across a set of selected scenarios. Despite this, performance metrics are often reported and compared in a highly aggregated way. In this paper we suggest a more fine-grained approach for the evaluation of rendering performance, taking into account multiple perspectives on the scenario: camera position and orientation along different paths, rendering algorithms, image resolution, and hardware. The approach comprises a visual analysis system that shows and contrasts the data from these perspectives. The users can explore combinations of perspectives and gain insight into the performance characteristics of several rendering algorithms. A stylized representation of the camera path provides a base layout for arranging the multivariate performance data as radar charts, each comparing the same set of rendering algorithms while linking the performance data with the rendered images. To showcase our approach, we analyze two types of scientific visualization benchmarks.
- Tarner, Hagen; Bongard, Daniel Van Den; Beck, Fabian: Visually Analyzing the Structure and Code Quality of Component-based Web Applications. In: Working Conference on Software Visualization (VISSOFT). Luxembourg (virtual) 2021. doi:10.1109/VISSOFT52517.2021.00031PDFCitationAbstractDetails
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.
Building upon the ideas of storytelling and explorable explanations, we introduce Talking Realities, a concept for producing data-driven interactive narratives in virtual reality. It combines an audio narrative with an immersive visualization to communicate analysis results. The narrative is automatically produced using template-based natural language generation and adapts to data and user interactions. The synchronized animation of visual elements in accordance with the audio connects the two representations. In addition, we discuss various modes of explanation ranging from fully guided tours to free exploration of the data. We demonstrate the applicability of our concept by developing a virtual reality visualization for air traffic data. Furthermore, generalizability is exhibited by sketching mock-ups for two more application scenarios in the context of information and scientific visualization.
Visualizing the evolution of software metrics helps understanding the project progress of a software development team with respect to code quality and related characteristics. Blending this information with performance information can provide relevant insights into crucial changes in execution behavior and their respective context from code changes. We interpret this composition of evolution and performance metrics as multivariate data and map it to a fine-grained method level. This is the basis for investigating a multivariate visualization approach consisting of a visually enriched tabular representation that provides the method-level details for all the metrics across time, a projection view that shows clusters and outliers among the methods on a higher-level of abstraction, and a timeline view to find relevant temporal changes. Interactions connect the views and allow the users to explore the data step by step.
To understand program behavior or find performance bottlenecks in their software, developers need tools to efficiently compare runtime statistics collected across multiple executions. As there is a variety of useful metrics, a good visualization needs to be able to handle multivariate data and highlight the most important differences between multiple versions. We identify three scenarios for the comparison of execution-relevant changes, and explore possible visualizations of the gathered multivariate runtime statistics.