Tech Report CS-91-37

A Framework for Automatic Algorithm Animation

Yi-Jing Lin

May 1991


Algorithm animation and data visualization have been shown to help people understand the behavior of algorithms and programs. Different approaches to algorithm animation and data visualization have been tried, but all the existing systems have drawbacks. On one hand, algorithm animation systems can generate nice animations, but users have to modify the original program and code the animation scenes by hand. On the other hand, data visualization systems are more automated, but they do not support smooth illustration of abstract operations and are not sufficiently general and flexible.

This research proposes another approach to data visualization and algorithm animation. Through automatic insertion of code, the manual modification of programs is avoided. By analyzing programs at preprocessing time rather than run time, the program being monitored is made more efficient. By putting data objects and image objects into classes, the reusability of the animation methods and the flexibility of the whole system are increased. Finally, by automatically abstracting out high-level operations from low-level ones, high-quality algorithm animation is generated without analyzing the algorithm manually.

(complete text in pdf or gzipped postscript)