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
翻译:用于代码审查的软件可视化方法通常作为独立应用程序实现,这些应用主要采用静态代码分析技术。其目标是通过可视化拉取/合并请求引入的结构变化来促进审查流程。例如,这种方式能更便捷地识别阻碍代码演进的结构变更,但理解变更后的程序行为仍主要依赖代码阅读。要使软件可视化在代码审查中真正发挥作用,必须提供超越代码变更替代性表征的工具,并将其深度集成至开发者的日常工作流程中。本文报告了一种新颖且正在开发中的基于Web方法的设计与实现,该方法能够在软件城市可视化中融合静态与动态分析数据。我们的架构工具设计整合了现代Web技术,包括与常见Git托管服务的集成。由此,代码审查者既能探索修改后软件的演进过程,又能执行其用例场景,这对分布式软件系统尤为有益。在此框架下,开发者可直接从Git托管服务的问题追踪系统跳转至对应的软件城市可视化界面。该方法消除了重复性的人工数据收集与配置操作。我们通过扩展基于Web的软件可视化工具ExplorViz实现了该设计,并邀请其他研究者共同扩展这款开源软件,携手推进该方向的研究。视频链接:https://youtu.be/DYxijdCEdrY