| | |
Summary: Live Debugging of Distributed Systems
Darren Dao1
, Jeannie Albrecht2
, Charles Killian3
, and Amin Vahdat1
1
University of California, San Diego, La Jolla, CA
2
Williams College, Williamstown, MA
3
Purdue University, West Lafayette, IN
Abstract. Debugging distributed systems is challenging. Although incremental
debugging during development finds some bugs, developers are rarely able to
fully test their systems under realistic operating conditions prior to deployment.
While deploying a system exposes it to realistic conditions, debugging requires
the developer to: (i) detect a bug, (ii) gather the system state necessary for diag-
nosis, and (iii) sift through the gathered state to determine a root cause. In this pa-
per, we present MaceODB, a tool to assist programmers with debugging deployed
distributed systems. Programmers define a set of runtime properties for their sys-
tem, which MaceODB checks for violations during execution. Once MaceODB
|