This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Visualizing Software Changes
April 2002 (vol. 28 no. 4)
pp. 396-412

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] K.H. An, D.A. Gustafson, and A.C. Melton, “A Model for Software Maintenance,” Proc. Conf. Software Maintenance, pp. 57–62, 1987.
[2] T.A. Ball and S.G. Eick, “Software Visualization in the Large,” Computer, vol. 29, no. 4, pp. 33–43, 1996.
[3] R. Baecker, Sorting Out Sorting. Videotape, 1981.
[4] R. Baecker and A. Marcus, Human Factors and Typography for More Readable Programs. Reading, Mass.: Addison–Wesley, 1990.
[5] J. Bertin, Graphics and Graphic Information Processing. Berlin: Walter de Gruyter and Co., 1981.
[6] M.H. Brown, Algorithm Animation. Cambridge, Mass.: MIT Press, 1988.
[7] S.K. Card, J.D. Mackinlay, and B. Shneiderman, Readings in Information Visualization, Morgan Kaufmann, San Francisco, 1999.
[8] P. Chaudhuri and J.S. Marron, “SiZer for Exploration of Structures in Curves,” J. Am. Statistical Assoc., 1999.
[9] C. Ebert, “Visualization Techniques for Analyzing and Evaluating Software Measurement,” IEEE Trans. Software Eng., vol. 2, no. 2, pp. 80–86, Feb. 1992.
[10] S.G. Eick, “Graphically Displaying Text,” J. Computational and Graphical Statistics, vol. 3, no. 2, pp. 127–142, 1994.
[11] S.G. Eick, “Maintenance of Large Systems,” Software Visualization: Programming as a Multimedia Experience, 1998.
[12] S.G. Eick, “A Visualization Tool for Y2K,” Computer, vol. 31, no. 10, pp. 63–69, 1998.
[13] S.G. Eick, T.L. Graves, A.F. Karr, and A. Mockus, “A Web Laboratory for Software Data Analysis,” World Wide Web, pp. 55–60, 1997.
[14] S.G. Eick, A. Mockus, T.L. Graves, and A.F. Karr, “Web-Based Text Visualization,” Proc. Softstat '97 Advances in Statistical Software, W. Bandilla and F. Faulbaum eds., vol. 6, pp. 3–10, 1997.
[15] S.G. Eick, T.L. Graves, A.F. Karr, J.S. Marron, and A. Mockus, Does Code Decay? Assessing the Evidence from Change Management Data IEEE Trans. Software Eng., vol. 27, no. 1, pp. 1-12, Jan./Feb. 2001.
[16] S.G. Eick, “Visual Discovery and Analysis,” IEEE Trans. Computer Graphics, vol. 6, no. 1, pp. 44–59, 2000.
[17] S.G. Eick, J. Steffen, and E. Sumner, Jr., “SeeSoft—A Tool for Visualizing Line-Oriented Software Statistics,” IEEE Trans. Software Eng., vol. 18, no. 11, pp. 957–968, Nov. 1992.
[18] S.G. Eick and G.J. Wills, “High Interaction Graphics,” European J. Operational Research, vol. 81, pp. 445–459, 1995.
[19] T. Fruchterman and E. Reingold, “Graph Drawing by Force-Directed Placement,” Software–Practice and Experience, vol. 21, no. 11, pp. 1129–1164, 1991.
[20] E.R. Gansner, E. Koutsojos, S.C. North, and K.-P. Vo, “A Technique for Drawing Directed Graphs,” IEEE Trans. Software Eng., vol. 19, pp. 214–230, 1993.
[21] T.L. Graves, A.F. Karr, and A. Mockus, “Modeling Software Changes,” Proc. 12th Int'l Workshop Statistical Modelling, C.E. Minder and H. Friedl, eds., 1997.
[22] T.L. Graves, A.F. Karr, J.S. Marron, and H. Siy, “Predicting Fault Incidence Using Software Change History,” IEEE Trans. Software Eng., vol. 26, no. 7, pp. 653–661, July 2000.
[23] T.L. Graves, “Finding Clusters in Network Link Strength Data,” Technometrics, 1999.
[24] T.L. Graves and A. Mockus, ”Inferring Change Effort from Configuration Management Databases,” Proc. Metrics 98, 1998.
[25] T.L. Graves and A. Mockus, “Identifying Productivity Drivers by Modeling Work Units Using Partial Data,” Technometrics, vol. 43, no. 2, pp. 168–179, 2001.
[26] W.C. Hill and J.D. Hollan, “Deixis and the Future of Visualization Excellence,” Proc. IEEE Visualization Conf., pp. 314–320, 1991.
[27] Table Lens. Inxight, Inc., Information available online atwww.inxight.com/Products/DeveloperAD_TL.html , 1999.
[28] J. Lamping and R. Rao, “Laying Out and Visualizing Large Trees Using a Hyperbolic Space,” Proc. UIST, pp. 13-14, 1994.
[29] A. Mockus, S.G. Eick, T.L. Graves, and A.F. Karr, “On Measurement and Analysis of Software Changes,” technical report, Nat'l Inst. of Statistical Sciences, 1999.
[30] T. Munzner, "H3: Laying Out Large Directed Graphs in 3D Hyperbolic Space," Proc. 1997 IEEE Symp. Information Visualization, IEEE CS Press, Los Alamitos, Calif., 1997, pp. 2-10; .
[31] G.G. Robertson, S.K. Card, and J.D. Mackinlay, "Information Visualization Using 3D Interactive Animation," Comm. ACM, Vol. 36, No. 4, 1993, pp. 57-71.
[32] M.J. Rochkind, “The Source Code Control System,” IEEE Trans. Software Eng., vol. 1, no. 4, pp. 364–370, 1975.
[33] D. Schaffer, Z. Zuo, S. Greenberg, L. Bartram, J. Dill, S. Dubs, and M. Roseman, “Navigating Hierarchically Clustered Networks Through Fisheye and Full-Zoom Methods,” ACM Trans. Computer–Human Interaction, vol. 3, no. 2, pp. 162–188, 1996.
[34] J. Stasko, J. Domingue, M.H. Brown, and B.A. Price, Software Visualization: Programming as a Multimedia Experience. Cambridge, Mass.: MIT Press, 1998.
[35] J. Stasko, “Tango: A Framework and System for Algorithm Animation,” Computer, vol. 23, no. 9, pp. 27–39, Sept. 1990.
[36] N.A. Staudenmayer, T.L. Graves, J.S. Marron, A. Mockus, H. Siy, L.G. Votta, and D. Perry, “Adapting to a New Environment: How a Legacy Software Organization Copes with Volatility and Change,” Proc. Fifth Int'l Product Development Management Conf., 1998.
[37] E.B. Swanson, "The Dimensions of Maintenance," Proc. Second Int'l Conf. Software Eng., pp. 492-497, 1976.
[38] Visual Insights ADVIZOR, Visual Insights Information available online athttp://graphics.stanford.edu/papers/h3www.visualinsights.com advizor, 1999.
[39] C. Ware and G. Franck, "Evaluating Stereo and Motion Cues for Visualizing Information Nets in Three Dimensions, " ACM Trans. Graphics, vol. 15, no. 2, 1996, pp. 121-139.
[40] G.J. Wills, “NicheWorks—Interactive Visualization of Very Large Graphs,” J. Computational and Graphical Statistics, vol. 8, no. 2, pp. 190-212, 1999.

Index Terms:
visualization, software changes, reengineering, code structure, change management
Citation:
S.G. Eick, T.L. Graves, A.F. Karr, A. Mockus, P. Schuster, "Visualizing Software Changes," IEEE Transactions on Software Engineering, vol. 28, no. 4, pp. 396-412, April 2002, doi:10.1109/TSE.2002.995435
Usage of this product signifies your acceptance of the Terms of Use.