What is Software Visualization?
Software visualization is the ability to see inside a computer program. In its broadest sense, the term can include the perusing of source code or static class hierarchy diagrams; however, the term generally is used to refer to the dynamic rendering of the inner workings of a program, illustrating its runtime characteristics, attributes and values while it is executing. By conveying runtime information to the observer, a software visualization tool is invaluable for debugging, verification, validation/testing, comprehension of legacy code, and as an educational tool. Unlike static design tools and class browsers that provide hints about the structure of a program, a dynamic software visualization tool shows the user what the program actually does. For the first time, developers can actually see how their program runs instead of having to guess how it will work.