Abstract Debugging of Distributed Applications

Distributed applications are highly complex and consequently difficult to debug. In particular, applications with hundreds of processes produce great quantities of information during debugging, easily overwhelming a human user. This paper uses a faulty implementation of a distributed simulation to present a debugging approach addressing this complexity problem. Using various abstract visualizations of an execution, the likely cause of an error is identified iteratively. The approach presented facilitates the debugging of distributed applications by enabling a user to gradually and selectively increase the level of detail, keeping the overall amount of information manageable.