-
Notifications
You must be signed in to change notification settings - Fork 0
/
10_conclusion.tex
4 lines (3 loc) · 1.71 KB
/
10_conclusion.tex
1
2
3
4
\section{Conclusion}
\label{sec:conclusion}
Interactive debuggers for distributed systems is an understudied area of research. In this paper, we discuss the major goals that interactive debuggers for a distributed systems should meet. In addition to exposing state changes at a node through local processes like traditional interactive debuggers, interactive debuggers for distributed systems should expose the communication between nodes, and the integration of this information that is communicated, at each site. The debuggers, should be able to expose these information exchanges while giving the user complete control over the execution of the system. In order for interactive debuggers to meet these requirements, support is needed from the underlying programming model. We discuss the specific features required from the programming model that can facilitate interactive debuggers. We put our theory to test by describing the implementation of an interactive debugger called GoTcha over the distributed programming model called GoT. We discuss the design of GoT, the design of GoTcha, and describe a simple debugging process using the example of a distributed word frequency counter. GoT, based on distributed version control systems like Git, tracks the change of state at each node in a version history. GoTcha exposes the changes made to the version history to the user, and gives the user complete control over the execution of the read and write functions of the version history. Finally, we discuss the potential and challenges involved in further developing interactive debuggers. We hope that the design of the interactive debugger detailed, and the tool GoTcha, can inspire more research into making interactive debugging feasible.