Oliver Moseler

dblp:136/2116 · DBLP profile ↗
← Back
6ranked-venue papers
4as first author
3since 2021 · last 2023
0000-0003-3118-4968ORCID · verified

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

Software engineering, systems software and programming languages · 5 · 3 first-author · 2 since 2021Human-computer interaction and ubiquitous computing · 2 · 2 first-author · 1 since 2021
YearPublicationVenuePosition
2023 The CodeSparks Framework - Augmenting Source Code with Glyph-based Visualizations
Oliver Moseler, Stephan Diehl 0001
Sci. Comput. Program.1
2021 ThreadRadar: A Thread-Aware Visualization for Debugging Concurrent Java Programs
abstract
Due to non-deterministic behavior and thread interleaving of concurrent programs, the debugging of concurrency and performance issues is a rather difficult and often tedious task. In this paper, we present an approach that combines statistical profiling, clustering and visualization to facilitate this task. We implemented our approach in a tool which is integrated as a plugin into a widely used IDE. First, we introduce our approach with details on the profiling and clustering strategy that produce runtime metrics and clusters of threads for source-code artifacts at different levels of abstraction (class and method) and the entire program. Next, we explain the design of our sparkline visualization which represents the clusters in situ, i.e. embedded in the program text next to the related source-code artifact in the source-code editor. More detailed information is available in separate views that also allow the user to interactively configure thread filters. In a demonstration study we illustrate the usefulness of the tool for understanding and fixing performance and concurrency issues. Finally, we report on first formative results from a small-scale user study.
Oliver Moseler, Lucas Kreber, Stephan Diehl 0001
VINCI1
2021 On the diversity and frequency of code related to mathematical formulas in real-world Java projects
Oliver Moseler, Felix Lemmer, Sebastian Baltes, Stephan Diehl 0001
J. Syst. Softw.1
2020 Visual Breakpoint Debugging for Sum and Product Formulae
abstract
Software debugging is one of the most time consuming source code related tasks. Hence, we propose a novel approach to breakpoint debugging for formula code, i.e. source code implementing mathematical formulae. In this work, the focus is on source code which computes a numerical value via arithmetic operations as well as sum- and product formulae. We introduce and discuss breakpoints placed on an automatically inferred mathematical representation, i.e. in a common mathematical notation or by a mixed form of source code artifacts and maths symbols. Furthermore, we present visual debugging features aiming to facilitate the dynamic inspection of the formula code leveraging the mathematical representation. We briefly present a first prototype implementation of our formula debugging approach and indicate future directions of our work.
Oliver Moseler, Michael Wolz, Stephan Diehl 0001
VISSOFT1
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
ESEM2
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
ICPC2