Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Jonas Trümper is active.

Publication


Featured researches published by Jonas Trümper.


software visualization | 2010

Understanding complex multithreaded software systems by using trace visualization

Jonas Trümper; Johannes Bohnet; Jürgen Döllner

Understanding multithreaded software systems is typically a tedious task: Due to parallel execution and interactions between multiple threads, such a systems runtime behavior is often much more complex than the behavior of a single-threaded system. For many maintenance activities, system understanding is a prerequisite. Hence, tasks such as bug fixing or performance optimization are highly demanding in the case of multithreaded systems. Unfortunately, state-of-the-art tools for system understanding and debuggers provide only limited support for these systems. We present a dynamic analysis and visualization technique that helps developers in understanding multithreaded software systems in general and in identifying performance bottlenecks in particular. The technique first performs method boundary tracing. Second, developers perform a post-mortem analysis of a systems behavior using visualization optimized for trace data of multithreaded software systems. The technique enables developers to understand how multiple threads collaborate at runtime. The technique is integrated into a professional and scalable tool for visualizing the behavior of complex software systems. In case studies, we have tested the technique with industrially developed, multithreaded software systems to understand system behavior and to identify multithreading-related performance bottlenecks.


eurographics | 2012

ViewFusion: Correlating Structure and Activity Views for Execution Traces

Jonas Trümper; Alexandru Telea; Jürgen Döllner

Visualization of data on structure and related temporal activity supports the analysis of correlations between the two types of data. This is typically done by linked views. This has shortcomings with respect to efficient space usage and makes mapping the effect of user input into one view into the other view difficult. We propose here a novel, space-efficient technique that ‘fuses’ the two information spaces – structure and activity – in one view. We base our technique on the idea that user interaction should be simple, yet easy to understand and follow. We apply our technique, implemented in a prototype tool, for the understanding of software engineering datasets, namely static structure and execution traces of the Chromium web browser.


international conference on program comprehension | 2013

Multiscale visual comparison of execution traces

Jonas Trümper; Jürgen Döllner; Alexandru Telea

Understanding the execution of programs by means of program traces is a key strategy in software comprehension. An important task in this context is comparing two traces in order to find similarities and differences in terms of executed code, execution order, and execution duration. For large and complex program traces, this is a difficult task due to the cardinality of the trace data. In this paper, we propose a new visualization method based on icicle plots and edge bundles. We address visual scalability by several multiscale visualization metaphors, which help users navigating from the main differences between two traces to intermediate structural-difference levels, and, finally fine-grained function call levels. We show how our approach, implemented in a tool called TRACEDIFF, is applicable in several scenarios for trace difference comprehension on real-world trace datasets.


visualizing software for understanding and analysis | 2011

A visual analysis and design tool for planning software reengineerings

Martin Beck; Jonas Trümper; Jürgen Döllner

Reengineering complex software systems represents a non-trivial process. As a fundamental technique in software engineering, reengineering includes (a) reverse engineering the as-is system design, (b) identifying a set of transformations to the design, and (c) applying these transformations. While methods a) and c) are widely supported by existing tools, identifying possible transformations to improve architectural quality is not well supported and, therefore, becomes increasingly complex in aged and large software systems. In this paper we present a novel visual analysis and design tool to support software architects during reengineering tasks in identifying a given softwares design and in visually planning quality-improving changes to its design. The tool eases estimating effort and change impact of a planned reengineering. A prototype implementation shows the proposed techniques feasibility. Three case studies conducted on industrial software systems demonstrate usage and scalability of our approach.


Proceedings of the Second International Workshop on Software Engineering for Embedded Systems | 2012

Maintenance of embedded systems: supporting program comprehension using dynamic analysis

Jonas Trümper; Stefan Voigt; Jürgen Döllner

Maintenance of embedded software systems is faced with multiple challenges, including the exploration and analysis of the actual systems runtime behavior. As a fundamental technique, tracing can be used to capture data about runtime behavior as a whole, and represents one of the few methods to observe and record data about embedded systems within their production environments. In this paper we present a software-based, function-boundary tracing approach for embedded software systems. It uses static binary instrumentation, which implies only lightweight memory and performance overheads. To further reduce these overheads, instrumentation can be configured per trace, i.e., activated only for a specified group of functions without having to recompile the system. The technique can be characterized by its robust implementation and its versatile usage. It is complemented by a visualization framework that allows for analysis and exploration of a systems runtime behavior, e.g., to examine thread interaction. To show the techniques applicability, we conclude with a case study that has been applied to an industrial embedded software system.


software visualization | 2013

SYNCTRACE: Visual thread-interplay analysis

Benjamin Karran; Jonas Trümper; Jürgen Döllner

In software comprehension, program traces are important to gain insight into certain aspects of concurrent runtime behavior, e.g., thread-interplay. Here, key tasks are finding usages of blocking operations, such as synchronization and I/O operations, assessing temporal order of such operations, and analyzing their effects. This is a hard task for large and complex program traces due to their size and number of threads involved. In this paper, we present SYNCTRACE a new visualization technique based on (bended) activity diagrams and edge bundles that allows for parallel analysis of multiple threads and their inter-thread correspondences. We demonstrate how the technique, implemented as a tool, can be applied on real-world trace datasets to support understanding concurrent behavior.


quality of information and communications technology | 2010

Visualization of Multithreaded Behavior to Facilitate Maintenance of Complex Software Systems

Jonas Trümper; Johannes Bohnet; Stefan Voigt; Jürgen Döllner

Maintenance accounts for the major part of a software systems total costs. Therein, program comprehension is an important, but complex activity: Typically, up-to-date documentation is not available, so the main reliable source of information on the implementation represent the artifacts of the systems implementation. Understanding software systems is difficult, in particular, if multithreading concepts are involved because state-of-the art development tools provide only limited support for maintenance activities. In addition, concurrency is often not directly reflected by the source code, i.e., there is only a non-obvious correlation between control structures in the source code and a systems runtime behavior. We present a program comprehension technique that helps to analyze and understand runtime behavior of multithreaded software systems and, thereby, facilitates software maintenance tasks. Our approach contains the following concepts: First, light-weight dynamic analysis records executed method calls at runtime. Second, visualization of multithreading trace data allows developers to explore the system behavior post-mortem. The technique forms part of a scalable tool suite for understanding the behavior of complex software systems. We also show how to apply the technique on industrial software systems to solve common maintenance problems.


international conference on information visualization theory and applications | 2014

Visualization of varying hierarchies by stable layout of voronoi treemaps

Sebastian Hahn; Jonas Trümper; Dominik Moritz; Jürgen Döllner


international conference on 3d web technology | 2013

Interactive software maps for web-based source code analysis

Daniel Limberger; Benjamin Wasty; Jonas Trümper; Jürgen Döllner


Proceedings of the Third International Workshop on Recommendation Systems for Software Engineering | 2012

Extending recommendation systems with software maps

Jonas Trümper; Jürgen Döllner

Collaboration


Dive into the Jonas Trümper's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Martin Beck

Hasso Plattner Institute

View shared research outputs
Top Co-Authors

Avatar

Stefan Voigt

Hasso Plattner Institute

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Dominik Moritz

Hasso Plattner Institute

View shared research outputs
Top Co-Authors

Avatar

Sebastian Hahn

Hasso Plattner Institute

View shared research outputs
Researchain Logo
Decentralizing Knowledge