scispace - formally typeset
Open AccessProceedings ArticleDOI

Automated Detection of Serializability Violations Under Weak Consistency

Kartik Nagar, +1 more
- Vol. 118, pp 18
Reads0
Chats0
TLDR
This work combines a dependency graph-based characterization of serializability and the framework of abstract executions to develop a fully-automated approach for statically finding boundedserializability violations under any weak consistency model.
Abstract
While a number of weak consistency mechanisms have been developed in recent years to improve performance and ensure availability in distributed, replicated systems, ensuring the correctness of transactional applications running on top of such systems remains a difficult and important problem. Serializability is a well-understood correctness criterion for transactional programs; understanding whether applications are serializable when executed in a weakly-consistent environment, however remains a challenging exercise. In this work, we combine a dependency graph-based characterization of serializability and leverage the framework of abstract executions to develop a fully-automated approach for statically finding bounded serializability violations under any weak consistency model. We reduce the problem of serializability to satisfiability of a formula in First-Order Logic (FOL), which allows us to harness the power of existing SMT solvers. We provide rules to automatically construct the FOL encoding from programs written in SQL (allowing loops and conditionals) and express consistency specifications as FOL formula. In addition to detecting bounded serializability violations, we also provide two orthogonal schemes to reason about unbounded executions by providing sufficient conditions (again, in the form of FOL formulae) whose satisfiability implies the absence of anomalies in any arbitrary execution. We have applied the proposed technique on TPC-C, a real-world database program with complex application logic, and were able to discover anomalies under Parallel Snapshot Isolation (PSI), and verify serializability for unbounded executions under Snapshot Isolation (SI), two consistency mechanisms substantially weaker than serializability.

read more

Citations
More filters
Proceedings ArticleDOI

Robustness Against Transactional Causal Consistency.

TL;DR: In this article, the authors investigate application-specific relationships between several variations of causal consistency and address the issue of verifying automatically if a given transactional program is robust against causal consistency, i.e., all its behaviors when executed over an arbitrary causally consistent database are serializable.
Proceedings ArticleDOI

Robustness against release/acquire semantics

TL;DR: This work presents an algorithm for automatically checking robustness of concurrent programs against C/C++11 release/acquire semantics, namely verifying that all program behaviors under release/ACquire are allowed by sequential consistency.
Proceedings ArticleDOI

Decidable verification under a causally consistent shared memory

TL;DR: This paper establishes the decidability of safety properties for finite-state concurrent programs running under a causally consistent shared memory model, and develops an alternative operational semantics, based on the notion of a thread potential, that is equivalent to the existing declarative semantics and constitutes a well-structured transition system.
Proceedings Article

Cobra: Making transactional key-value stores verifiably serializable

TL;DR: Cobra is the first system that combines black-box checking, of (b) serializability, while (c) scaling to real-world online transactional processing workloads, and introduces several new techniques, including a new encoding of the validity condition.
Journal ArticleDOI

Verification under causally consistent shared memory

TL;DR: This work considers concurrent programs interacting with causally consistent shared memory and describes the semantics of such programs, and outlines several verification problems and survey some existing solutions.
References
More filters
Proceedings ArticleDOI

A critique of ANSI SQL isolation levels

TL;DR: It is shown that these phenomena and the ANSI SQL definitions fail to properly characterize several popular isolation levels, including the standard locking implementations of the levels covered, and new phenomena that better characterize isolation types are introduced.
Proceedings ArticleDOI

Don't settle for eventual: scalable causal consistency for wide-area storage with COPS

TL;DR: This paper identifies and defines a consistency model---causal consistency with convergent conflict handling, or causal+---that is the strongest achieved under these constraints and presents the design and implementation of COPS, a key-value store that delivers this consistency model across the wide-area.
Proceedings ArticleDOI

Transactional storage for geo-replicated systems

TL;DR: The design and implementation of Walter is described, a key feature behind Walter is a new property called Parallel Snapshot Isolation (PSI), which allows Walter to replicate data asynchronously, while providing strong guarantees within each site.
Journal ArticleDOI

Making snapshot isolation serializable

TL;DR: A theory is developed that characterizes when nonserializable executions of applications can occur under Snapshot Isolation, and it is applied to demonstrate that the TPC-C benchmark application has no serialization anomalies under SI, and how this demonstration can be generalized to other applications.
Journal ArticleDOI

Serializable isolation for snapshot databases

TL;DR: A modification to the concurrency control algorithm of a database management system that automatically detects and prevents snapshot isolation anomalies at runtime for arbitrary applications, thus providing serializable isolation.
Related Papers (5)