Developing Correctly Replicated Databases Using Formal Tools

Dependable Systems and Networks(2014)

引用 45|浏览29
暂无评分
摘要
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.
更多
查看译文
关键词
formal languages,formal specification,formal verification,replicated databases,software fault tolerance,EventML specification compiling,Paxos,complex error handling code,correct-by-construction formal method,correctly replicated databases,fault-tolerant distributed systems,formal language,formal tools,highly-available databases,total order broadcast protocol,Fault-tolerance,correct-by-construction distributed protocols,database replication,formal tools
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要