Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation 2007
DOI: 10.1145/1250734.1250755
|View full text |Cite
|
Sign up to set email alerts
|

Mace

Abstract: Building distributed systems is particularly difficult because of the asynchronous, heterogeneous, and failure-prone environment where these systems must run. Tools for building distributed systems must strike a compromise between reducing programmer effort and increasing system efficiency. We present Mace , a C++ language extension and source-to-source compiler that translates a concise but expressive distributed system specification into a C++ implementation. Mace overcomes the limitations of low-level langu… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
6
0

Year Published

2013
2013
2021
2021

Publication Types

Select...
5
3
1

Relationship

0
9

Authors

Journals

citations
Cited by 113 publications
(6 citation statements)
references
References 22 publications
0
6
0
Order By: Relevance
“…Formal specification and verification of distributed systems and algorithms has been carried out by means of model checking [Holzmann 1997;Killian et al 2007;Lamport 1992;Pnueli 1977] and, more recently, using a variety of program logics: Disel [Sergey et al 2018] is a Hoare Type Theory for distributed program verification in Coq with ideas from separation logic. IronFleet [Hawblitzel et al 2015] allows for building provably correct distributed systems by combining TLA-style statemachine refinement with Hoare-logic verification in a layered approach, all embedded in Dafny [Leino 2010].…”
Section: Related Workmentioning
confidence: 99%
“…Formal specification and verification of distributed systems and algorithms has been carried out by means of model checking [Holzmann 1997;Killian et al 2007;Lamport 1992;Pnueli 1977] and, more recently, using a variety of program logics: Disel [Sergey et al 2018] is a Hoare Type Theory for distributed program verification in Coq with ideas from separation logic. IronFleet [Hawblitzel et al 2015] allows for building provably correct distributed systems by combining TLA-style statemachine refinement with Hoare-logic verification in a layered approach, all embedded in Dafny [Leino 2010].…”
Section: Related Workmentioning
confidence: 99%
“…A benefit of using model-checking frameworks is that they allow to state both safety and liveness assertions as LTL assertions [29]. Mace [17] provides a suite for building and model-checking distributed systems with asynchronous protocols, including liveness conditions. Chapar [25] allows for model-checking of programs that use causally consistent distributed key-value stores.…”
Section: Related Workmentioning
confidence: 99%
“…This is largely the reason why previous work has traditionally focused on verification of protocols of core network components. In particular, in the context of model checking, where safety and liveness assertions [29] are considered, tools such as SPIN [9], TLA+ [23], and Mace [17] have been developed. More recently, significant contributions have been made in the field of formal proofs of implementations of challenging protocols, such as two-phase-commit, lease-based key-value stores, Paxos, and Raft [7,25,30,35,40].…”
Section: Introductionmentioning
confidence: 99%
“…Distributed Environments A plethora of systems assist in the construction of distributed software. At one end of the spectrum, distributed operating systems [4,22,58,64,67,69,72,73,76,89] and programming languages [25,43,77,88] provide a significant amount of flexibility in the resulting application. However, they involve significant manual effort using the provided abstractions, which are strongly coupled with the underlying operating or runtime system.…”
Section: Related Workmentioning
confidence: 99%