Software Visualization in the Large Thomas j. Ball and Stephen G. Eick, 1996 Presented by Xu Liu April 19, 2005 Overview “Software is invisible” 4 visual representations of software To help software engineers cope with complexity 5 Case studies involving different development tasks Main Goals Increasing programmer Productivity Efficiency Improving program structure Scalable visualizations Visualizing software Structure Run-time behavior Code itself <- here we go Visual representations Line representation Pixel representation Show line as a pixel File summary representation File as a rectangle, inner time-series Hierarchical representation Zoomable tree-map Line representation Pixel representation File summary representation Hierarchical representation Origin from Ben Shneiderman at U Maryland Application Code version history Difference between releases Static properties of code Code profiling and execution hot spots Program slices Differencing Fix on fix Cross Platform Preprocessor Nesting Level Program Execution Hot Spots Slicing Critique (1) “Use every available monitor pixel to show information” Don’t make my eyes too busy “Hiding system complexity… contributes to low programmer productivity” Sometimes we’ve to hide e.g. Information Hiding Critique (2) Based on program “line” line is not the atom element of source code after OO & STL What happened after this paper? 3D Representations for Software Visualization Andrian Marcus, Louis Feng, Jonathan I. Maletic, 2003 What happened after this paper? Gatech http://www.cc.gatech.edu/gvu/softviz/ Softvis.org http://www.softvis.org/