Publication Data
Causeway: a message-oriented distributed debugger
Abstract: An increasing number of developers face the difficult task
of debugging distributed asynchronous programs. This trend has outpaced the development
of adequate debugging tools and currently, the best option for many is an ad hoc
patchwork of sequential tools and printf debugging. This paper presents Causeway, a
postmortem distributed debugger that demonstrates a novel approach to understanding the
behavior of a distributed program. Our message-oriented approach borrows an effective
strategy from sequential debugging: To find the source of unintended side- effects,
start with the chain of expressed intentions. We show how Causeway's integrated views -
describing both distributed and sequential computation - help users navigate causal
pathways as they pursue suspicions. We highlight Causeway's innovative features which
include adaptive, customizable event abstraction mechanisms and graphical views that
follow message flow across process and machine boundaries.
