Trace Visualization within the Software City Metaphor: A Controlled Experiment on Program Comprehension

Veronika Dashuber, Michæl Philippsen · 2021

Especially with the rise of microservice architectures, software is hard to understand when just the static dependencies are known. The reason is that the actual call paths and the dynamic behavior of the application is hidden behind network communication. To comprehend what is going on in the software the vast amount of runtime data (traces) needs to be reduced and visualized.DynaCity uses the city metaphor for visualization. Its novel trace visualization displays dynamic dependencies as arcs atop the city. To reduce the number of traces, DynaCity aggregates all requests between the same two components into one arc whose brightness reflects both the number and the total duration of the requests. DynaCity also encodes dynamic trace data in a heatmap that it uses to light up the building: the brighter a building is, the more active it is, i.e., the more and the longer the requests are that it receives and/or spawns.In a controlled experiment, we compare our approach with a traditional trace visualization built into the same Software City but showing all dependencies (without aggregation) as individual arcs and also disabling the heatmap. The study shows that professional software developers can solve typical software comprehension tasks faster (5.84%) and more correctly (11.7%) with the help of DynaCity and that they prefer our approach over the more traditional dynamic trace visualization.

Read the paper · More papers on PaperTik