학술논문

Developing Correctly Replicated Databases Using Formal Tools
Document Type
Conference
Source
2014 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks Dependable Systems and Networks (DSN), 2014 44th Annual IEEE/IFIP International Conference on. :395-406 Jun, 2014
Subject
Communication, Networking and Broadcast Technologies
Components, Circuits, Devices and Systems
Computing and Processing
Clocks
Protocols
Distributed databases
Computational modeling
Cognition
Semantics
Fault-tolerance
database replication
correct-by-construction distributed protocols
formal tools
Language
ISSN
1530-0889
2158-3927
Abstract
Fault-tolerant distributed systems often contain complex error handling code. Such code is hard to test or model-check because there are often too many possible failure scenarios to consider. As we will demonstrate in this paper, formal methods have evolved to a state in which it is possible to generate this code along with correctness guarantees. This paper describes our experience with building highly-available databases using replication protocols that were generated with the help of correct-by-construction formal methods. The goal of our project is to obtain databases with unsurpassed reliability while providing good performance. We report on our experience using a total order broadcast protocol based on Paxos and specified using a new formal language called Event ML. We compile Event ML specifications into a form that can be formally verified while simultaneously obtaining code that can be executed. We have developed two replicated databases based on this code and show that they have performance that is competitive with popular databases in one of the two considered benchmarks.