Debugging distributed systems is a challenging task. The challenge stems from the fact that many errors do not manifest themselves until the systems are deployed to production. Unfortunately, once the systems are deployed, there is no easy way to debug them. In this thesis, I present MaceODB, a tool whose purpose is to assist the programmers in such debugging task. To use MaceODB, the programmers specify properties for their systems. At runtime, MaceODB uses these properties to check the status of the systems that are running, and reports back to the programmers if there were any errors. Using MaceODB, we were able to detect non-trivial bugs in existing systems. This accomplishment is impressive considering the fact that most of these syste...
I present a general framework for observing and controlling a distributed computation and its applic...
Creating and debugging programs for WENs is notoriously difficult. Macroprogramming is an emerging t...
Live debugging aims to automate the process of isolating bugs by providing a framework to pinpoint t...
Thesis (Ph.D.)--University of Washington, 2019Designing and debugging distributed systems is notorio...
Robust distributed systems commonly employ high-level recov-ery mechanisms enabling the system to re...
Debugging distributed systems is difficult. Most of the techniques that have been developed for debu...
Daily life involves the use of computers for everything from interpersonal communication to banking ...
Software engineers have to face many problems when creating, testing and debugging their application...
Model checking, logging, debugging, and checkpointing/recovery are great tools to identify bugs in s...
This paper describes parts of the design of a debugger for a distributed real-time multimedia system...
With the growing use of computers in almost every aspect of our lives, software failures have greate...
This thesis is a part of the whole project called CDB, which involves a team of graduate students wh...
Developing correct and efficient software for large scale systems is a challenging task. Developers ...
When confronted with a buggy execution of a distributed system—which are commonplacefor distributed ...
Debugging distributed programs is considerably more difficult than debugging sequential programs. We...
I present a general framework for observing and controlling a distributed computation and its applic...
Creating and debugging programs for WENs is notoriously difficult. Macroprogramming is an emerging t...
Live debugging aims to automate the process of isolating bugs by providing a framework to pinpoint t...
Thesis (Ph.D.)--University of Washington, 2019Designing and debugging distributed systems is notorio...
Robust distributed systems commonly employ high-level recov-ery mechanisms enabling the system to re...
Debugging distributed systems is difficult. Most of the techniques that have been developed for debu...
Daily life involves the use of computers for everything from interpersonal communication to banking ...
Software engineers have to face many problems when creating, testing and debugging their application...
Model checking, logging, debugging, and checkpointing/recovery are great tools to identify bugs in s...
This paper describes parts of the design of a debugger for a distributed real-time multimedia system...
With the growing use of computers in almost every aspect of our lives, software failures have greate...
This thesis is a part of the whole project called CDB, which involves a team of graduate students wh...
Developing correct and efficient software for large scale systems is a challenging task. Developers ...
When confronted with a buggy execution of a distributed system—which are commonplacefor distributed ...
Debugging distributed programs is considerably more difficult than debugging sequential programs. We...
I present a general framework for observing and controlling a distributed computation and its applic...
Creating and debugging programs for WENs is notoriously difficult. Macroprogramming is an emerging t...
Live debugging aims to automate the process of isolating bugs by providing a framework to pinpoint t...