Visual Integration of Static and Dynamic Software Analysis in Code Reviews via Software City Visualization
<|reference_start|>Visual Integration of Static and Dynamic Software Analysis in Code Reviews via Software City Visualization: Software visualization approaches for code reviews are often implemented as standalone applications, which use static code analysis. The goal is to visualize the structural changes introduced by a pull / merge request to facilitate the review process. In this way, for example, structural changes that hinder code evolution can be more easily identified, but understanding the changed program behavior is still mainly done by reading the code. For software visualization to be successful in code review, tools must be provided that go beyond an alternative representation of code changes and integrate well into the developers' daily workflow. In this paper, we report on the novel and in-progress design and implementation of a web-based approach capable of combining static and dynamic analysis data in software city visualizations. Our architectural tool design incorporates modern web technologies such as the integration into common Git hosting services. As a result, code reviewers can explore how the modified software evolves and execute its use cases, which is especially helpful for distributed software systems. In this context, developers can be directly linked from the Git hosting service's issue tracking system to the corresponding software city visualization. This approach eliminates the recurring action of manual data collection and setup. We implement our design by extending the web-based software visualization tool ExplorViz. We invite other researchers to extend our open source software and jointly research this approach. Video URL: https://youtu.be/DYxijdCEdrY<|reference_end|>
@article{krause-glau2024visual,
    title={Visual Integration of Static and Dynamic Software Analysis in Code
  Reviews via Software City Visualization},
    author={Alexander Krause-Glau, Lukas Damerau, Malte Hansen, Wilhelm
  Hasselbring},
    journal={arXiv preprint arXiv:2408.08141},
    year={2024},
    archivePrefix={arXiv},
    eprint={2408.08141},
    primaryClass={cs.SE}
}