Abstract
AbstractTo provide high availability in distributed systems, object replicas allow concurrent updates. Although replicas eventually converge, they may diverge temporarily, for instance when the network fails. This makes it difficult for the developer to reason about the object’s properties, and in particular, to prove invariants over its state. For the subclass of state-based distributed systems, we propose a proof methodology for establishing that a given object maintains a given invariant, taking into account any concurrency control. Our approach allows reasoning about individual operations separately. We demonstrate that our rules are sound, and we illustrate their use with some representative examples. We automate the rule using Boogie, an SMT-based tool.
Publisher
Springer International Publishing
Reference27 articles.
1. Almeida, P.S., Shoker, A., Baquero, C.: Delta state replicated data types. J. Parallel Distrib. Comput. 111, 162–173 (2018), https://doi.org/10.1016/j.jpdc.2017.08.003
2. Bailis, P., Fekete, A., Franklin, M.J., Ghodsi, A., Hellerstein, J.M., Stoica, I.: Coordination avoidance in database systems. Proc. VLDB Endow. 8(3), 185–196 (Nov 2014), http://dx.doi.org/10.14778/2735508.2735509, int. Conf. on Very Large Data Bases (VLDB) 2015, Waikoloa, Hawai’i, USA
3. Baquero, C., Almeida, P.S., Cunha, A., Ferreira, C.: Composition in state based replicated data types. Bulletin of the EATCS 123 (2017), http://eatcs.org/beatcs/index.php/beatcs/article/view/507
4. Baquero, C., Moura, F.: Using structural characteristics for autonomous operation. Operating Systems Review 33(4), 90–96 (1999), https://doi.org/10.1145/334598.334614
5. Barnett, M., Chang, B.Y.E., DeLine, R., Jacobs, B., Leino, K.R.M.: Boogie: A modular reusable verifier for object-oriented programs. In: Proceedings of the 4th International Conference on Formal Methods for Components and Objects. pp. 364–387. FMCO’05, Springer-Verlag, Berlin, Heidelberg (2006), https://doi.org/10.1007/11804192_17
Cited by
15 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. LoRe: A Programming Model for Verifiably Safe Local-first Software;ACM Transactions on Programming Languages and Systems;2024-01-15
2. Type-Checking CRDT Convergence;Proceedings of the ACM on Programming Languages;2023-06-06
3. Dynamic Partial Order Reduction for Checking Correctness against Transaction Isolation Levels;Proceedings of the ACM on Programming Languages;2023-06-06
4. Optimal Stateless Model Checking for Causal Consistency;Tools and Algorithms for the Construction and Analysis of Systems;2023
5. Modular verification of op-based CRDTs in separation logic;Proceedings of the ACM on Programming Languages;2022-10-31