Debugging parallel programs is much more difficult than debugging sequential programs. The first reason is that the breakpoint approach used in sequential programs does not work because many processes run in parallel. The second reason is that programmers have to worry about the correctness of each process as well as the correctness of the communication between processes. The third reason is that it is often difficult to repeat the bug because of the non-deterministic behavior of the parallel programs.
We are developing the VisuaLinda, which is a Linda server itself as well as a visualization tool for parallel Linda programs. There are two major contributions in the VisuaLinda system. The first is the build-in design of a visualization module. Programmers do not have to insert/delete additional procedures into/from their programs in order to obtain the visualization. The second is a use of three-dimensional space (Fig.a). As a result, programmers can see both a relation between processes (Fig.b) and a time flow of processes (Fig.c) simultaneously.