Abstract :
The understanding of the structure of a software system can be improved by analyzing the system´s evolution during development. Visualizations of software history that provide only static views do not capture the dynamic nature of software evolution. We present a new visualization technique, the Evolution Storyboard, which provides dynamic views of the evolution of a software´s structure. An evolution storyboard consists of a sequence of animated panels, which highlight the structural changes in the system; one panel for each considered time period. Using storyboards, engineers can spot good design, signs of structural decay, or the spread of cross cutting concerns in the code. We implemented our concepts in a tool, which automatically extracts software dependency graphs from version control repositories and computes storyboards based on panels for different time periods. For applying our approach in practice, we provide a step by step guide that others can follow along the storyboard visualizations, in order to study the evolution of large systems. We have applied our method to several large open source software systems. In this paper, we demonstrate that our method provides additional information (compared to static views) on the ArgoUML project, an open source UML modeling tool
Keywords :
Unified Modeling Language; computer animation; data visualisation; graph theory; program diagnostics; software reviews; ArgoUML project; UML modeling tool; animated visualization; evolution storyboards; open source software systems; software dependency graphs; software evolution; software history; software structure; software system; storyboard visualizations; version control repository; visualization technique; Animation; Automatic control; Data mining; Design engineering; History; Motion pictures; Software engineering; Software systems; Software tools; Visualization;