Our group investigates foundational questions in different areas of visualization research and applies them to practical scenarios. The following areas cover our main research interests while our publications report the detailed findings and our web-based software solutions provide examples of interactive visualization systems.
In the area of information visualization, we discuss the visual encoding of abstract data - data that does not have a natural representation.
Hierarchy and Network Visualization
Relations between entities are represented in hierarchies and networks. Visualizations of these structures facilitate the exploration of complex relational information such as can be found in social networks or modular software systems. Our research focuses on the scalable representation of hierarchies and networks, in particular, considering their dynamic changes and differences between variants of the same entities.
Figure: Temporal changes of a hierarchy and network structure across three time steps (publication).
Word-Sized Graphics Embedded into Text
Visualizations at the size of a word allow a close integration of text and data. We investigate different scenarios to enrich natural language texts and source code. For example, we use of such embeddings to communicate bibliographic data or report findings of eye tracking studies. A particular challenge and opportunity, which we investigate in a project funded by Baden-Württemberg Stiftung, is to establish an interactive interplay between text and word-sized visualizations.
In software engineering, developers need to optimize and extend complex software systems - information visualization methods provide an exploration tool to read and understand the structure, evolution, and behavior of such systems.
Evolution of Software Behavior
Software is constantly changing to adapt to new requirements and implement improvements. However, changes in one part might have undesired side effects in other parts of the software, for instance, could introduce bugs or decrease the system's performance. In a project funded by Deutsche Forschungsgemeinschaft (DFG) we study how source code changes interact with software behavior to find causes of runtime issues and prevent them.
Understanding Software Modularizations
Developers decompose software systems into modules to create a high level of abstraction and keep the complexity manageable. However, there exist different criteria and solutions how to modularize a system. Also, systems are growing and, at some point, the system needs to be remodularized. With our approaches we support developers in understanding the current modularization and checking options for remodularization to finally improve the system's maintainability.
Figure: Visual comparison of the current modularization of a software system against a number of differently generated modularizations for understanding modularization patterns (publication, online tool).
Bringing together human-computer interaction and algorithms with visualization research, visual analytics systems facilitate and interactive exploration of the data.
Interactively Structuring Data
When exploring data, a common task is to structure the data entities by assigning keywords and refine the assignment iteratively. We support this process by visualizations that show the context of the data entities and keyword assignment achieved so far. One of our examples is a visual literature browser to structure literature collections as required for writing a literature survey or thesis.