Semantics, Specification, and Bounded Verification of Concurrent Libraries in Replicated Systems
Kartik Nagar, Prasita Mukherjee, Suresh Jagannathan
Abstract
Geo-replicated systems provide a number of desirable properties such as globally low latency, high availability, scalability, and built-in fault tolerance. Unfortunately, programming correct applications on top of such systems has proven to be very challenging, in large part because of the weak consistency guarantees they offer. These complexities are exacerbated when we try to adapt existing highly-performant concurrent libraries developed for shared-memory environments to this setting. The use of these libraries, developed with performance and scalability in mind, is highly desirable. But, identifying a suitable notion of correctness to check their validity under a weakly consistent execution model has not been well-studied, in large part because it is problematic to naïvely transplant criteria such as linearizability that has a useful interpretation in a shared-memory context to a distributed one where the cost of imposing a (logical) global ordering on all actions is prohibitive. In this paper, we tackle these issues by proposing appropriate semantics and specifications for highly-concurrent libraries in a weakly-consistent, replicated setting. We use these specifications to develop a static analysis framework that can automatically detect correctness violations of library implementations parameterized with respect to the different consistency policies provided by the underlying system. We use our framework to analyze the behavior of a number of highly non-trivial library implementations of stacks, queues, and exchangers. Our results provide the first demonstration that automated correctness checking of concurrent libraries in a weakly geo-replicated setting is both feasible and practical.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 5b703784-5edb-484e-8558-a12937b1cbacCited by top-tier papers3
- MonkeyDB: effectively testing correctness under weak isolation levelsRanadeep Biswas, Diptanshu Kakwani, Jyothi Vedurada, Constantin Enea et al.OOPSLA 2021 · 18 citations
- Certified mergeable replicated data typesVimala Soundarapandian, Adharsh Kamath, Kartik Nagar, K. C. SivaramakrishnanPLDI 2022 · 12 citations
- Hamband: RDMA replicated data typesFarzin Houshmand, Javad Saberlatibari, Mohsen LesaniPLDI 2022 · 4 citations
Related papers
- AutoGR: Automated Geo-Replication with Fast System Performance and Preserved Application SemanticsJiawei Wang, Cheng Li, Kai Ma, Jingze Huo et al.VLDB 2021 · 4 citations
- RELINCHE: Automatically Checking Linearizability under Relaxed Memory ConsistencyPavel Golovin, Michalis Kokologiannakis, Viktor VafeiadisPOPL 2025 · 4 citations
- ECROs: building global scale systems from sequential codeKevin De Porre, Carla Ferreira, Nuno M. Preguiça, Elisa Gonzalez BoixOOPSLA 2021 · 15 citations
- Automated Robustness Verification of Concurrent Data Structure Libraries against Relaxed Memory ModelsKartik Nagar, Anmol Sahoo, Romit Roy Chowdhury, Suresh JagannathanOOPSLA 2024 · 1 citation
- Much ADO about failures: a fault-aware model for compositional verification of strongly consistent distributed systemsWolf Honoré, Jieung Kim, Ji-Yong Shin, Zhong ShaoOOPSLA 2021 · 12 citations
