Collaborative, Code-Proximal Dynamic Software Visualization within Code Editors

08/30/2023
by   Alexander Krause-Glau, et al.
0

Software visualizations are usually realized as standalone and isolated tools that use embedded code viewers within the visualization. In the context of program comprehension, only few approaches integrate visualizations into code editors, such as integrated development environments. This is surprising since professional developers consider reading source code as one of the most important ways to understand software, therefore spend a lot of time with code editors. In this paper, we introduce the design and proof-of-concept implementation for a software visualization approach that can be embedded into code editors. Our contribution differs from related work in that we use dynamic analysis of a software system's runtime behavior. Additionally, we incorporate distributed tracing. This enables developers to understand how, for example, the currently handled source code behaves as a fully deployed, distributed software system. Our visualization approach enhances common remote pair programming tools and is collaboratively usable by employing shared code cities. As a result, user interactions are synchronized between code editor and visualization, as well as broadcasted to collaborators. To the best of our knowledge, this is the first approach that combines code editors with collaboratively usable code cities. Therefore, we conducted a user study to collect first-time feedback regarding the perceived usefulness and perceived usability of our approach. We additionally collected logging information to provide more data regarding time spent in code cities that are embedded in code editors. Seven teams with two students each participated in that study. The results show that the majority of participants find our approach useful and would employ it for their own use. We provide each participant's video recording, raw results, and all steps to reproduce our experiment as supplementary package.

READ FULL TEXT

page 1

page 3

page 5

page 8

page 9

research
12/21/2021

CADV: A software visualization approach for code annotations distribution

Code annotations is a widely used feature in Java systems to configure c...
research
01/04/2020

Vis-a-Vis: Visual Exploration of Visualization Source Code Evolution

Developing an algorithm for a visualization prototype often involves the...
research
04/05/2019

PerfVis: Pervasive Visualization in Immersive AugmentedReality for Performance Awareness

Developers are usually unaware of the impact of code changes to the perf...
research
07/07/2022

Towards Immediate Feedback for Security Relevant Code in Development Environments

Nowadays, the correct use of cryptography libraries is essential to ensu...
research
09/29/2021

Live Visualization of Dynamic Software Cities with Heat Map Overlays

The 3D city metaphor in software visualization is a well-explored render...
research
06/21/2022

To What Extent Cognitive-Driven Development Improves Code Readability?

Cognitive-Driven Development (CDD) is a coding design technique that aim...
research
07/31/2019

Software-Enhanced Teaching and Visualization Capabilities of an Ultra-High-Resolution Video Wall

This paper presents a modular approach to enhance the capabilities and f...

Please sign up or login with your details

Forgot password? Click here to reset