Publicação
VeriFx
| Resumo: | Distributed systems adopt weak consistency to ensure high availability and low latency, but state convergence is hard to guarantee due to conflicts. Experts carefully design replicated data types (RDTs) that resemble sequential data types and embed conflict resolution mechanisms that ensure convergence. Designing RDTs is challenging as their correctness depends on subtleties such as the ordering of concurrent operations. Currently, researchers manually verify RDTs, either by paper proofs or using proof assistants. Unfortunately, paper proofs are subject to reasoning flaws and mechanized proofs verify a formalization instead of a real-world implementation. Furthermore, writing mechanized proofs is reserved for verification experts and is extremely time-consuming. To simplify the design, implementation, and verification of RDTs, we propose VeriFx, a specialized programming language for RDTs with automated proof capabilities. VeriFx lets programmers implement RDTs atop functional collections and express correctness properties that are verified automatically. Verified RDTs can be transpiled to mainstream languages (currently Scala and JavaScript). VeriFx provides libraries for implementing and verifying Conflict-free Replicated Data Types (CRDTs) and Operational Transformation (OT) functions. These libraries implement the general execution model of those approaches and define their correctness properties. We use the libraries to implement and verify an extensive portfolio of 51 CRDTs, 16 of which are used in industrial databases, and reproduce a study on the correctness of OT functions. |
|---|---|
| Autores principais: | De Porre, Kevin |
| Outros Autores: | Ferreira, Carla; Boix, Elisa Gonzalez |
| Assunto: | distributed systems eventual consistency replicated data types verification Software |
| Ano: | 2023 |
| País: | Portugal |
| Tipo de documento: | documento de conferência |
| Tipo de acesso: | acesso aberto |
| Instituição associada: | Universidade Nova de Lisboa |
| Idioma: | inglês |
| Origem: | Repositório Institucional da UNL |
Registos relacionados
article ECROs
por: De Porre, Kevin
Publicado em: (2021)
por: De Porre, Kevin
Publicado em: (2021)
article Scalable eventually consistent counters over unreliable networks
por: Almeida, Paulo Sérgio
Publicado em: (2019)
por: Almeida, Paulo Sérgio
Publicado em: (2019)
article Delta state replicated data types
por: Almeida, Paulo Sérgio
Publicado em: (2018)
por: Almeida, Paulo Sérgio
Publicado em: (2018)
school Non-uniform replication for replicated objects
por: Cabrita, Gonçalo Mendes
Publicado em: (2017)
por: Cabrita, Gonçalo Mendes
Publicado em: (2017)
school Access Control in Weakly Consistent Systems
por: Costa, Tiago Miguel Ferreira da
Publicado em: (2016)
por: Costa, Tiago Miguel Ferreira da
Publicado em: (2016)
school Building Tunable CRDTs
por: Rijo, André dos Reis Martins
Publicado em: (2018)
por: Rijo, André dos Reis Martins
Publicado em: (2018)
school Key-CRDT stores
por: Sousa, Valter Balegas de
Publicado em: (2012)
por: Sousa, Valter Balegas de
Publicado em: (2012)
article Compact resettable counters through causal stability
por: Younes, Georges
Publicado em: (2017)
por: Younes, Georges
Publicado em: (2017)
article Borrowing an identity for a distributed counter
por: Enes, Vitor
Publicado em: (2017)
por: Enes, Vitor
Publicado em: (2017)
article The problem with embedded CRDT counters and a solution
por: Baquero, Carlos
Publicado em: (2016)
por: Baquero, Carlos
Publicado em: (2016)
school Estimating data divergence in cloud computing storage systems
por: Gonçalves, André Miguel Augusto
Publicado em: (2013)
por: Gonçalves, André Miguel Augusto
Publicado em: (2013)
school Ginger: A Transactional Middleware with Data and Operation Centric Mixed Consistency
por: Rocha, Luís Miguel Dias
Publicado em: (2021)
por: Rocha, Luís Miguel Dias
Publicado em: (2021)
school Conceptualização e desenvolvimento de uma framework de clustering
por: Taboada, Ricardo Filipe Fernandes
Publicado em: (2017)
por: Taboada, Ricardo Filipe Fernandes
Publicado em: (2017)
school Partial replication with strong consistency
por: Matos, Tiago André Envia
Publicado em: (2022)
por: Matos, Tiago André Envia
Publicado em: (2022)
school Probabilistic data types
por: Fernandes, Pedro Henrique Moreira Gomes
Publicado em: (2021)
por: Fernandes, Pedro Henrique Moreira Gomes
Publicado em: (2021)
school Replication Support for Local-First Collaborative Applications
por: Silva, Bernardo dos Santos
Publicado em: (2024)
por: Silva, Bernardo dos Santos
Publicado em: (2024)
school Data management for location-dependent mobile applications
por: Santos, Nuno Miguel Fiúza Martins Boavida dos
Publicado em: (2023)
por: Santos, Nuno Miguel Fiúza Martins Boavida dos
Publicado em: (2023)
school A novel causally consistent replication protocol with partial geo-replication
por: Fouto, Pedro Filipe Veiga
Publicado em: (2018)
por: Fouto, Pedro Filipe Veiga
Publicado em: (2018)
groups Anticipation of Method Execution in Mixed Consistency Systems
por: Giunti, Marco
Publicado em: (2023)
por: Giunti, Marco
Publicado em: (2023)
article Making Operation-based CRDTs Operation-based
por: Baquero, Carlos
Publicado em: (2014)
por: Baquero, Carlos
Publicado em: (2014)
school A Semantic Consistency Model to Reduce Coordination in Replicated Systems
por: Gomes, Nuno Filipe Estêvão
Publicado em: (2021)
por: Gomes, Nuno Filipe Estêvão
Publicado em: (2021)
article Eventually consistent register revisited
por: Zawirski, Marek
Publicado em: (2016)
por: Zawirski, Marek
Publicado em: (2016)
article Integration challenges of pure operation-based CRDTs in redis
por: Younes, Georges
Publicado em: (2016)
por: Younes, Georges
Publicado em: (2016)
school Identifying Operation Commutativity in Replicated Distributed Systems
por: Santos, João Nuno
Publicado em: (2025)
por: Santos, João Nuno
Publicado em: (2025)
school Scalable Consistency for Data Replication
por: Fouto, Pedro Filipe Veiga
Publicado em: (2024)
por: Fouto, Pedro Filipe Veiga
Publicado em: (2024)
school Conflict-Free Replicated Data Types in Dynamic Environments
por: Barreto, António José Sá
Publicado em: (2019)
por: Barreto, António José Sá
Publicado em: (2019)
school Fault-Tolerant Publish-Subscribe System With Multiple Delivery Guarantees
por: Matos, Paulo César Leite de
Publicado em: (2024)
por: Matos, Paulo César Leite de
Publicado em: (2024)
article As secure as possible eventual consistency: Work in progress
por: Shoker, Ali
Publicado em: (2017)
por: Shoker, Ali
Publicado em: (2017)
article An oblivious observed-reset embeddable replicated counter
por: Weidner, Matthew
Publicado em: (2022)
por: Weidner, Matthew
Publicado em: (2022)
school Protocols for Database Replication with Delta-based CRDT
por: Santos, Ana Patrícia Lourenço dos
Publicado em: (2023)
por: Santos, Ana Patrícia Lourenço dos
Publicado em: (2023)
article Evaluating dotted version vectors in Riak
por: Gonçalves, Ricardo Jorge Tomé
Publicado em: (2011)
por: Gonçalves, Ricardo Jorge Tomé
Publicado em: (2011)
school Transaction Processing over Geo-Partitioned Data
por: Braz, Sofia Frederico de Sousa
Publicado em: (2022)
por: Braz, Sofia Frederico de Sousa
Publicado em: (2022)
school Deducing Operation Commutativity from Replicated Data Declaration
por: Fragoso, André Gonçalves
Publicado em: (2019)
por: Fragoso, André Gonçalves
Publicado em: (2019)
school Real-time collaborative editing of OutSystems DSL models
por: Almeida, Tiago Alexandre Gomes de
Publicado em: (2013)
por: Almeida, Tiago Alexandre Gomes de
Publicado em: (2013)
school ECO SYNC Tree: a Causal and Dynamic Broadcast Tree for Edge-based Replication
por: Vieira, Ema Rodrigues
Publicado em: (2022)
por: Vieira, Ema Rodrigues
Publicado em: (2022)
school Extending conflict free replicated datatypes fault models
por: Yactine, Houssam
Publicado em: (2025)
por: Yactine, Houssam
Publicado em: (2025)
school Byzantine Fault Tolerance in Large Scale Edge Replicated Systems
por: Almeida, Diogo António Rocha
Publicado em: (2025)
por: Almeida, Diogo António Rocha
Publicado em: (2025)
assignment Coerência num sistema transaccional de replicação de objectos em grande-escala
por: Martins, João
Publicado em: (2001)
por: Martins, João
Publicado em: (2001)
school Static Verification of Cloud Applications with Why3
por: Meirim, Filipe Silva
Publicado em: (2019)
por: Meirim, Filipe Silva
Publicado em: (2019)
article Concise server-wide causality management for eventually consistent data stores
por: Gonçalves, Ricardo Jorge Tomé
Publicado em: (2015)
por: Gonçalves, Ricardo Jorge Tomé
Publicado em: (2015)
Registos relacionados
-
article ECROs
por: De Porre, Kevin
Publicado em: (2021) -
article Scalable eventually consistent counters over unreliable networks
por: Almeida, Paulo Sérgio
Publicado em: (2019) -
article Delta state replicated data types
por: Almeida, Paulo Sérgio
Publicado em: (2018) -
school Non-uniform replication for replicated objects
por: Cabrita, Gonçalo Mendes
Publicado em: (2017) -
school Access Control in Weakly Consistent Systems
por: Costa, Tiago Miguel Ferreira da
Publicado em: (2016)