Our reserach in software visualization goes back to work on the PECAN programming environment in the early 80's where we attempted to provide multiple (graphical) views of a program as it was being developed and run.
The FIELD environment that followed included a variety of tools for visualizations of both the static structure and the dynamic behavior of real programs in a UNIX environment.
We moved to 3D visualizations using first VALLEY and then CACTI system which was part of the Desert programming environment (which by the way was based on editing programs using FrameMaker).
Our recent work, highlighted here includes the BLOOM environment and the JIVE system. BLOOM is a framework for rapidly creating and viewing high-quality 3D visualizations of software systems. JIVE is a tool for visualizing Java programs in action with minimal overhead and maximal information.