Evolution Spectrographs: visualizing punctuated change in software evolution

Software evolution is commonly characterized as a slow process of incremental change. Researchers have observed that software systems also exhibit characteristics of punctuation (sudden and discontinuous change) during their evolution. We analyze punctuated evolution from the perspective of structural change. We developed a color-coded visualization technique called the Evolution Spectrograph (ESG). ESG can be applied to highlight conspicuous changes across a historical sequence of software releases. We describe evolution spectrographs and present the empirical results from our studies of three open source software systems: OpenSSH, PostgreSQL, and Linux. We show that punctuated change occurred in the evolution of these three systems, and we validate our empirical results by examining related software documents such as change logs and release notes.

[1]  Meir M. Lehman,et al.  Rules and Tools for Software Evolution Planning and Management , 2001, Ann. Softw. Eng..

[2]  C. Gersick REVOLUTIONARY CHANGE THEORIES: A MULTILEVEL EXPLORATION OF THE PUNCTUATED EQUILIBRIUM PARADIGM , 1991 .

[3]  Thomas Ball,et al.  Software Visualization in the Large , 1996, Computer.

[4]  Kouichi Kishida,et al.  Evolution patterns of open-source software systems and communities , 2002, IWPSE '02.

[5]  A. A. Gorshenev,et al.  Punctuated Equilibrium in Software Evolution , 2003, Physical review. E, Statistical, nonlinear, and soft matter physics.

[6]  Dewayne E. Perry,et al.  Metrics and laws of software evolution-the nineties view , 1997, Proceedings Fourth International Software Metrics Symposium.

[7]  David Garlan,et al.  Introduction to the Special Issue on Software Architecture , 1995, IEEE Trans. Software Eng..

[8]  C. Darwin The Origin of Species by Means of Natural Selection, Or, The Preservation of Favoured Races in the Struggle for Life , 1859 .

[9]  Richard C. Holt,et al.  Linker-Based Program Extraction and Its Uses in Studying Software Evolution , 2004 .

[10]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[11]  Chris F. Kemerer,et al.  On the uniformity of software evolution patterns , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[12]  Tibor Gyimóthy,et al.  A short introduction to Columbus/CAN , 2001 .

[13]  Harald C. Gall,et al.  Visualizing software release histories: the use of color and third dimension , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[14]  Michael W. Godfrey,et al.  Evolution in open source software: a case study , 2000, Proceedings 2000 International Conference on Software Maintenance.

[15]  Annie I. Antón,et al.  Functional paleontology: system evolution as the user sees it , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[16]  Christian S. Collberg,et al.  A system for graph-based visualization of the evolution of software , 2003, SoftVis '03.