An experimental approach to program visualization that uses a client/server architecture to deliver program animations over any Java-capable Web browser is described in this paper. The program being debugged runs on the server. Program events are recorded using hooks into a generic visualization framework. The resulting record can be played back separately on any Java-enabled Web browser. Colleagues can also conduct a collaborative session in which both step through the program history synchronously and annotations made by one programmer are reflected on the other’s browser.
The goal of this work is to allow collaboration on program debugging by programmers separated by time or distance who may not have access to the same hardware or software environment. The authors expect it to be most useful to isolated programmers and to novices. When the paper was written, the system was being used in a Master’s-level course with a tutor in England and students in Canada and the US, but results were not yet available. Further experience will show whether this is an effective way to find real bugs in real programs.