Project Information

:: Distributed Debugger

The term Distributed Debugger or Distributed Application Debugger is a very broad one and encompasses any state monitoring system intended to run on top of a Distributed Application for detection and isolation of erratic behavior.

Program behavior is instrinsically associated with program state. If one is to isolate the cause of a bug in a distributed application, then one must analyze state changes that occur in this distributed application. Before that, however, it's necessary to capture state information.

Unfortunately it is not as easy as it might seem. Distributed Application state is not in general observable, especially when considering that the debugger must interfere as little as possible with normal application execution. This notion of debugger interference is closely related to Heisenberg's Uncertainty Principle.

There are also multiple platform and language-specific problems involved with execution tracing of program data. Essentially, the less support the
underlying execution environment provides, the more instrumentation work must be performed by the debugger. Since distributed applications are heterogeneous in nature, a comprehensive distributed debugger must cope with a variety of instrumentation levels and communication scenarios.

Data visualization and user interaction also play an important role, since debuggers are mere reporters presenting field results (application data) to an editor (the end user
). Ideally a distributed debugger interface should provide a rich set of graphical representations, as well as various controls for manipulating nodes, threads, stacks and other application entities.

:: Eclipse

The Eclipse Platform provides an excellent environmnent for such a debugger. Its highly adaptive architecture, predefined debug model and plugin availability are all very desirable companions to our development task. Eclipse's high level of acceptance and community success are also almost a guarantee that our plugin will be thoroughly tested and put to use.

home | other projects in progress