YARN: Animating Software Evolution

Abram Hindle, Zhen Ming Jiang, W Koleilat, Michael W. Godfrey, Richard C. Holt · 2007

A problem that faces the study of software evolution is how to explore the aggregated and cumulative effects of changes that occur within a software system over time. In this paper we describe an approach to modeling, extracting, and animating the architectural evolution of a software system. We have built a prototype tool called YARN (yet another reverse-engineering narrative) that implements our approach; YARN mines the source code changes of the target system, and generates YARN "balls" (animations) that a viewer can unravel (watch). The animation is based on a static layout of the modules connected by animated edges that model the changing dependencies. The edges can be weighted by the number of dependencies or the importance of the change. We demonstrate our approach by visualizing the evolution of PostgreSQL DBMS.

Read the paper · More papers on PaperTik