My actions
What's your PUBLISHER policy?
Check with SHERPA/ROMEO whether your PUBLISHER allows you to put your own papers online.
Access
Contact
Format
Export
I want to...

Search


   
Close
Limit to these document types:
Publications
 Journal Articles
 Reviews
 Conference Papers
Monographs
 Books
 Thesis
 Book chapters
 Conference Proceedings
Reports
 Technical Reports
 Working papers
Presentations & Talks
 Posters
 Presentations & Talks
Standards & Patents
 Standards
 Patents
Lectures & Teaching Material
 Teaching documents
 Student projects
Filter by publication status Filter by origin Fulltext availability
 Peer-reviewed publications
 Published  Accepted  Submitted
 Work produced at EPFL
 Publicly available  Restricted access
CONFERENCE PAPER

CrystalBall: Predicting and Preventing Inconsistencies in Deployed Distributed Systems

Yabandeh, Maysam ; Knezevic, Nikola ; Kostic, Dejan ; Kuncak, Viktor

Presented at: The 6th USENIX Symposium on Networked Systems Design and Implementation (NSDI '09), April, 2009.

In: Proceedings of the 6th USENIX Symposium on Networked Systems Design and Implementation (NSDI '09),, 2009

Date: 2009

We propose a new approach for developing and deploying distributed systems, in which nodes predict distributed consequences of their actions, and use this information to detect and avoid errors. Each node continuously runs a state exploration algorithm on a recent consistent snapshot of its neighborhood and predicts possible future violations of specified safety properties. We describe a new state exploration algorithm, consequence prediction, which explores causally related chains of events that lead to property violation. This paper describes the design and the implementation of this approach, termed CrystalBall. We evaluate CrystalBall on RandTree, BulletPrime, Paxos, and Chord distributed system implementations. We identified new bugs in mature Mace implementations of three systems. Furthermore, we show that if the bug is not corrected during system development, CrystalBall is effective in steering the execution away from inconsistent states at run-time.

Reference: NSL-CONF-2008-008

Record created on 2008-12-20, modified on 2010-03-13