🤖 AI Summary
This study addresses the insufficient structural information visualization in understanding and maintaining complex software systems. We propose a configurable three-dimensional (3D) visualization method that integrates fine-grained metrics (e.g., cyclomatic complexity, coupling) with coarse-grained ones (e.g., module- or package-level abstractions) to construct an interactive 3D rendering engine supporting dynamic attribute adjustment. Our approach introduces a novel configurable code-element grouping mechanism and synergistically incorporates dependency structure graphs, treemaps, and version history to enable multi-scale visualization—from macro-level metaphorical overviews to micro-level focused analysis. Empirical evaluation demonstrates that our method significantly improves efficiency in identifying structural patterns and localizing architectural hotspots. Compared to conventional two-dimensional visualization techniques, it enhances both the depth of system comprehension and maintenance effectiveness—particularly in large-scale codebases.
📝 Abstract
Software visualization seeks to represent software artifacts graphical-ly in two or three dimensions, with the goal of enhancing comprehension, anal-ysis, maintenance, and evolution of the source code. In this context, visualiza-tions employ graphical forms such as dependency structures, treemaps, or time-lines that incorporate repository histories. These visualizations allow software engineers to identify structural patterns, detect complexity hotspots, and infer system behaviors that are difficult to perceive directly from source text. By adopting metaphor-based approaches, visualization tools provide macroscopic overviews while enabling focused inspection of specific program elements, thus offering an accessible means of understanding large-scale systems. The contri-bution of our work lies in three areas. First, we introduce a configurable group-ing mechanism that supports flexible organization of code elements based on arbitrary relationships. Second, we combine fine-grained and coarse-grained software metrics to provide a multi-level perspective on system properties. Third, we present an interactive visualization engine that allows developers to dynamically adjust rendering attributes. Collectively, these advances provide a more adaptable and insightful approach to source code comprehension.