Interactive Visualization of Software for Spatially Distributed Teams

The Center for Computing Technologies (TZI) at the University of Bremen is investigating new methods for better understanding complex software as part of a DFG-funded project.

A comprehensive overview of the structure and operation of software is essential for its maintenance and further development. However, spatially distributed teams often find it difficult to develop a common understanding of complex projects. The Center for Computing Technologies (TZI) at the University of Bremen is therefore investigating various ways of supporting collaborative understanding processes in a new research project. In the two-year project, which is sponsored by the German Research Foundation (DFG), the Software Engineering working group, led by Prof. Rainer Koschke, is focusing on new media and software visualization technologies.

Minimizing Misunderstandings and Misinterpretations

With collaborative understanding, several participants attempt to work together to develop a model of the structure and behavior of a program. "In the process, they can mutually benefit from the different perspectives and expertise of other group members," Koschke explains. "Most of the time, it's helpful to externalize a shared model – that is, to make it visible and explicit to all – to reduce the risk of misunderstanding and misinterpretation."

In such situations, participants often create spontaneous sketches on the whiteboard, for instance of the static structure of a program. "It is not uncommon for the facts discussed to be reconstructed only from the memory of the participants, which in many cases reflects an inaccurate, sometimes even incorrect idealization," says Koschke. Automated program analyses can help, but their results often first have to be summarized and abstracted in order to be understandable.

In the current project, the researchers want to integrate traditional desktop hardware and tablet devices as well as more advanced virtual reality (VR) and augmented reality (AR) hardware so that members of development teams can get a consistent and accurate picture of their software over spatial distances. Visualizing software for groups rather than individual viewers has been poorly explored to date.

Three-Dimensional Representations in "Code Cities"

The goal is not to create entirely new forms of visualization. Instead, Koschke and his team want to build on the concept of so-called "code cities." This involves combining different metrics to form a three-dimensional landscape that resembles an American downtown with skyscrapers arranged in a grid pattern.

"A collaborative visualization should allow all users to simultaneously view the software from different perspectives, focus on different details, and interact individually with the visualization," Koschke explains. "Users should also be able to reciprocally see each other in the visualization so that they can recognize which perspective another person is currently taking in order to be able to correctly classify statements. Ideally, nonverbal communication should also be possible in the process."

The results of the project will be tested in empirical long-term studies with the companies Axivion GmbH (Stuttgart), Contact Software GmbH (Bremen), and Viessman Elektronik GmbH (Allendorf/Eder). TZI will also make the research data publicly available under an open-source license. The results of the project are tested in empirical long-term studies with the companies Axivion GmbH (Stuttgart), Contact Software GmbH (Bremen) and Viessman Elektronik GmbH (Allendorf/Eder).


Further Information:



Prof. Dr. Rainer Koschke
Phone: +49 421 218-64481
Email: koschkeprotect me ?!uni-bremenprotect me ?!.de




Mitglieder eines IT-Projektteams können sich in der virtuellen Realität treffen und ihre Software als „Code City“ visualisieren. So können sie beispielsweise die Struktur des Codes oder die Beziehungen zwischen verschiedenen Bausteinen darstellen und diskutieren.
Members of an IT project team can meet in virtual reality and visualize their software as "Code City." For example, they can display and discuss the structure of the code or the relationships between different building blocks.