2008 · 94 citations · 42 references
ComputingComputer ScienceVisualizationData VisualizationInformation VisualizationInteractive VisualizationReal-time VisualizationSoftware DesignSoftware EvolutionSoftware ModelingThree-dimensional VisualizationInteractive 3D VisualizationMetricsObject-oriented ArchitectureReal-time Interactive SystemsSoftware Evolution AnalysisSoftware Evolution VisualizationSoftware Reverse EngineeringVisual Exploration
The goal of reverse engineering is to obtain a mental model of software systems. However, evolution adds another dimension to their implicit complexity, effectively making them moving targets: The evolution of software systems still remains an intangible and complex process. Metrics have been extensively used to quantify various facets of evolution, but even the usage of complex metrics often leads to overly simplistic insights, thus failing at adequately characterizing the complex evolutionary processes.We present an approach based on real-time interactive 3D visualizations, whose goal is to render the structural evolution of object-oriented software systems at both a coarse-grained and a fine-grained level. By providing insights into a system's history, our visualizations allow us to reason about the origins and the causalities which led to the current state of a system. We illustrate our approach on three large open-source systems and report on our findings, which were confirmed by developers of the studied systems.
42
Multidimensional binary search trees used for associative searching
Jon Bentley · Communications of the ACM · 1975 · 7.5K citations · Full text
Visualizing Software Systems as Cities
Richard Wettel, Michele Lanza · 2007 · 247 citations
Design erosion: problems and causes
Jilles van Gurp, Jan Bosch · Journal of Systems and Software · 2002 · 229 citations