Software Visualization In The Large

Stephen G. Eick

Bell Laboratories - Rm 1G-351
1000 East Warrenville Road
Naperville, IL 60566

Software is invisible, disappearing into files on disks. This is okay for small systems that may be easily understood by a few programmers who form mental pictures of its structure. For large systems requiring teams of programmers, however, the invisibility contributes to low programmer productivity by hiding its complexity. One way to help software engineers cope with this complexity and thereby increase programmer productivity is by making the software visual.

I will describe several innovative visual representations of software that scale to production-sized systems. These techniques have been embodied in a suite of software visualization tools, and I will illustrate their usage in six software engineering case studies involving: version history, differencing, static properties, profiles, slices, and execution traces.

(Joint work with Tom Ball)