GoTcha: An Interactive Debugger for GoT-Based Distributed Systems
This addresses the problem of debugging distributed systems for developers, offering an interactive tool that is typically limited to single-threaded applications, though it appears incremental as it builds on the existing GoT model.
The paper tackles the difficulty of debugging distributed systems by introducing GoTcha, an interactive debugger built on the Global Object Tracker (GoT) model, which enables live observation of state changes and demonstrates a typical debugging workflow.
Debugging distributed systems is hard. Most of the techniques that have been developed for debugging such systems use either extensive model checking, or postmortem analysis of logs and traces. Interactive debugging is typically a tool that is only effective in single threaded and single process applications, and is rarely applied to distributed systems. While the live observation of state changes using interactive debuggers is effective, it comes with a host of problems in distributed scenarios. In this paper, we discuss the requirements an interactive debugger for distributed systems should meet, the role the underlying distributed model plays in facilitating the debugger, and the implementation of our interactive debugger: GoTcha. GoTcha is a browser based interactive debugger for distributed systems built on the Global Object Tracker (GoT) programming model. We show how the GoT model facilitates the debugger, and the features that the debugger can offer. We also demonstrate a typical debugging workflow.