Software visualization encompasses the development and evaluation of
methods for graphically representing different aspects of software,
including its structure, its execution, and its evolution. Software
visualization combines techniques from areas like software engineering,
programming languages, data mining, computer graphics, information
visualization and human-computer interaction.
Here is an ideal textbook on software visualization, written especially
for students and teachers in computer science. It provides a broad and
systematic overview of the area including many pointers to tools
available today. Topics covered include static program visualization,
algorithm animation, visual debugging, as well as the visualization of
the evolution of software. The author's presentation emphasizes common
principles and provides different examples mostly taken from seminal
work. In addition, each chapter is followed by a list of exercises
including both pen-and-paper exercises as well as programming tasks.