Visualizing Software Changes

A key problem in software engineering is changing the code. We present a sequence of visualizations and visual metaphors designed to help engineers understand and manage the software change process. The principal metaphors are matrix views, cityscapes, bar and pie charts, data sheets and networks. Linked by selection mechanisms, multiple views are combined to form perspectives that both enable discovery of high-level structure in software change data and allow effective access to details of those data. Use of the views and perspectives is illustrated in two important contexts: understanding software change by exploration of software change data and management of software development. Our approach complements existing visualizations of software structure and software execution.

[1]  Jacques Bertin,et al.  Graphics and graphic information-processing , 1981 .

[2]  Emden R. Gansner,et al.  A Technique for Drawing Directed Graphs , 1993, IEEE Trans. Software Eng..

[3]  Stephen G. Eick,et al.  Graphically Displaying Text , 1994 .

[4]  Harvey P. Siy,et al.  Predicting Fault Incidence Using Software Change History , 2000, IEEE Trans. Software Eng..

[5]  James D. Hollan,et al.  Deixis and the future of visualization excellence , 1991, Proceeding Visualization '91.

[6]  Audris Mockus,et al.  Modeling software changes , 1998 .

[7]  Graham J. Wills,et al.  NicheWorks - Interactive Visualization of Very Large Graphs , 1997, GD.

[8]  Colin Ware,et al.  Evaluating stereo and motion cues for visualizing information nets in three dimensions , 1996, TOGS.

[9]  Stephen G. Eick,et al.  Visual Discovery and Analysis , 2000, IEEE Trans. Vis. Comput. Graph..

[10]  Graham J. Wills,et al.  High interaction graphics , 1995 .

[11]  Audris Mockus,et al.  On Measurement and Analysis of Software Changes , 1999 .

[12]  Shelley V. Goldman Sorting out sorting , 1982 .

[13]  Jock D. Mackinlay,et al.  Information visualization using 3D interactive animation , 1993, CACM.

[14]  Audris Mockus,et al.  Identifying Productivity Drivers by Modeling Work Units Using Partial Data , 2001, Technometrics.

[15]  John T. Stasko Tango: A Framework and System for Algorithm Animation , 1990, Computer.

[16]  Ramana Rao,et al.  Laying out and visualizing large trees using a hyperbolic space , 1994, UIST '94.

[17]  Audris Mockus,et al.  A Web laboratory for software data analysis , 2004, World Wide Web.

[18]  Christof Ebert Visualization techniques for analyzing and evaluating software measures , 1992 .

[19]  Aaron Marcus,et al.  Human factors and typography for more readable programs , 1990 .

[20]  Audris Mockus,et al.  Web-based text visualization , 1998 .

[21]  Audris Mockus,et al.  Inferring change effort from configuration management databases , 1998, Proceedings Fifth International Software Metrics Symposium. Metrics (Cat. No.98TB100262).

[22]  Tamara Munzner,et al.  H3: laying out large directed graphs in 3D hyperbolic space , 1997, Proceedings of VIZ '97: Visualization Conference, Information Visualization Symposium and Parallel Rendering Symposium.

[23]  Marc J. Rochkind,et al.  The source code control system , 1975, IEEE Transactions on Software Engineering.

[24]  John Domingue,et al.  Software visualization : programming as a multimedia experience , 1998 .

[25]  Todd L. Graves Finding Clusters in Network Link Strength Data , 1999 .

[26]  Ben Shneiderman,et al.  Readings in information visualization - using vision to think , 1999 .

[27]  E. Burton Swanson,et al.  The dimensions of maintenance , 1976, ICSE '76.

[28]  Stephen G. Eick A Visualization Tool for Y2K , 1998, Computer.

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

[30]  Stephen G. Eick,et al.  Seesoft-A Tool For Visualizing Line Oriented Software Statistics , 1992, IEEE Trans. Software Eng..

[31]  Saul Greenberg,et al.  Navigating hierarchically clustered networks through fisheye and full-zoom methods , 1996, TCHI.

[32]  James Stephen Marron,et al.  ADAPTING TO A NEW ENVIRONMENT: How A Legacy Software Organization Copes With Volatility and Change , 1998 .

[33]  Edward M. Reingold,et al.  Graph drawing by force‐directed placement , 1991, Softw. Pract. Exp..

[34]  J. Marron,et al.  SiZer for Exploration of Structures in Curves , 1999 .

[35]  Audris Mockus,et al.  Does Code Decay? Assessing the Evidence from Change Management Data , 2001, IEEE Trans. Software Eng..