Event based debuggers for distributed systems automatically detect occurrences of user specified events. During debugging it is not always possible to break-point a computation in a state that reflects an event occurrence. Thus, to avoid unnecessary break-points we must develop techniques that determine, prior to the initiation of a breakpoint, whether an event occurrence will be captured by the breakpoint. We propose the simultaneity operator for achieving the above goal. This operator asserts that its operand events, which correspond to slates of different processes in the distributed computation, are all true at a point in the program and stable with respect to this point. The stability of events guarantees that the initiation of a break point at this point will leave the system an a state which reflects the event occurrence. We present static analysis techniques that identify points in a program at which user specified simultaneous events should be evaluated to avoid unnecessary breakpointing. The statically computed information also enables minimal instrumentation of the program for the detection of event occurrences
Published in:
Distributed Computing Systems, 1994., Proceedings of the 14th International Conference on
Date of Conference: 21-24 Jun 1994