Visual software evolution reconstruction

The analysis of the evolution of large software systems is challenging for many reasons, such as the retrieval and processing of historical information and the large quantity of data that must be dealt with. While recent advances in research have led to the solutions to these problems, a central question remains: How do we deal with this information in a methodical way and where do we start with our analysis? We present a methodology based on interactive visualizations that support the reconstruction of the evolution of software systems. We propose several visualizations which help us to perform software evolution analysis of a system ‘in the large’ and ‘in the small’, and apply them to two large systems. Copyright © 2009 John Wiley & Sons, Ltd. The analysis of the evolution of large software systems is challenging for many reasons, such as the retrieval and processing of historical information and the large quantity of data that must be dealt with. We present a methodology based on interactive visualizations which support the reconstruction of the evolution of software systems. We propose several visualizations which help us to perform software evolution analysis of a system ‘in the large’ and ‘in the small’, and apply them to two large systems. Copyright © 2009 John Wiley & Sons, Ltd.

[1]  Richard C. Holt,et al.  Exploring software evolution using spectrographs , 2004, 11th Working Conference on Reverse Engineering.

[2]  Stéphane Ducasse,et al.  Package Surface Blueprints: Visually Supporting the Understanding of Package Relationships , 2007, 2007 IEEE International Conference on Software Maintenance.

[3]  Ben Shneiderman,et al.  Tree visualization with tree-maps: 2-d space-filling approach , 1992, TOGS.

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

[5]  Stéphane Ducasse,et al.  How developers drive software evolution , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[6]  Stéphane Ducasse,et al.  Yesterday's Weather: guiding early reverse engineering efforts by summarizing the evolution of changes , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[7]  Harald C. Gall,et al.  Visualizing multiple evolution metrics , 2005, SoftVis '05.

[8]  Meir M. Lehman,et al.  Program evolution: processes of software change , 1985 .

[9]  Stéphane Ducasse,et al.  Polymetric Views - A Lightweight Visual Approach to Reverse Engineering , 2003, IEEE Trans. Software Eng..

[10]  Michele Lanza,et al.  BugCrawler: Visualizing Evolving Software Systems , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[11]  Lucian Voinea,et al.  How do changes in buggy Mozilla files propagate? , 2006, SoftVis '06.

[12]  Michele Lanza,et al.  A Flexible Framework to Support Collaborative Software Evolution Analysis , 2008, 2008 12th European Conference on Software Maintenance and Reengineering.

[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]  Harald C. Gall,et al.  Populating a Release History Database from version control and bug tracking systems , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[15]  Lucian Voinea,et al.  Visual data mining and analysis of software repositories , 2007, Comput. Graph..

[16]  Lucian Voinea,et al.  An open framework for CVS repository querying, analysis and visualization , 2006, MSR '06.

[17]  Harald C. Gall,et al.  EvoGraph: A Lightweight Approach to Evolutionary and Structural Analysis of Large Software Systems , 2006, 2006 13th Working Conference on Reverse Engineering.

[18]  Michele Lanza,et al.  Software bugs and evolution: a visual approach to uncover their relationship , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[19]  Tom Mens,et al.  Future trends in software evolution metrics , 2001, IWPSE '01.

[20]  Politecnico Di Milano Software Archaeology - Reconstructing the Evolution of Software Systems , 2004 .

[21]  Harald C. Gall,et al.  Software evolution observations based on product release history , 1997, 1997 Proceedings International Conference on Software Maintenance.

[22]  Stéphane Ducasse,et al.  Distribution Map , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[23]  Stéphane Ducasse,et al.  Characterizing the evolution of class hierarchies , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[24]  Harald C. Gall,et al.  Detection of logical coupling based on product release history , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[25]  Harald C. Gall,et al.  Fractal Figures: Visualizing Development Effort for CVS Entities , 2005, 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[26]  Serge Demeyer,et al.  Studying software evolution information by visualizing the change history , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[27]  Michele Lanza,et al.  Reverse Engineering with Logical Coupling , 2006, 2006 13th Working Conference on Reverse Engineering.

[28]  Michele Lanza,et al.  CodeCrawler-lessons learned in building a software visualization tool , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[29]  Mehdi Jazayeri On Architectural Stability and Evolution , 2002, Ada-Europe.

[30]  Michael W. Godfrey,et al.  An integrated approach for studying architectural evolution , 2002, Proceedings 10th International Workshop on Program Comprehension.

[31]  Malcolm Munro,et al.  Revision Towers , 2002, Proceedings First International Workshop on Visualizing Software for Understanding and Analysis.

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