CLOTHO: Directed Test Generation for Weakly Consistent Database Systems

08/15/2019
by   Kia Rahmani, et al.
0

Relational database applications are notoriously difficult to test and debug. Concurrent execution of database transactions may violate complex structural invariants that constraint how changes to the contents of one (shared) table affect the contents of another. Simplifying the underlying concurrency model is one way to ameliorate the difficulty of understanding how concurrent accesses and updates can affect database state with respect to these sophisticated properties. Enforcing serializable execution of all transactions achieves this simplification, but it comes at a significant price in performance, especially at scale, where database state is often replicated to improve latency and availability. To address these challenges, this paper presents a novel testing framework for detecting serializability violations in (SQL) database-backed Java applications executing on weakly-consistent storage systems. We manifest our approach in a tool named CLOTHO, that combines a static analyzer and a model checker to generate abstract executions, discover serializability violations in these executions, and translate them back into concrete test inputs suitable for deployment in a test environment. To the best of our knowledge, CLOTHO is the first automated test generation facility for identifying serializability anomalies of Java applications intended to operate in geo-replicated distributed environments. An experimental evaluation on a set of industry-standard benchmarks demonstrates the utility of our approach.

READ FULL TEXT

page 20

page 21

page 22

research
10/26/2017

Alone Together: Compositional Reasoning and Inference for Weak Isolation

Serializability is a well-understood correctness criterion that simplifi...
research
03/09/2021

Repairing Serializability Bugs in Distributed Database Programs via Automated Schema Refactoring

Serializability is a well-understood concurrency control mechanism that ...
research
04/21/2020

Semantics, Specification, and Bounded Verification of Concurrent Libraries in Replicated Systems

Geo-replicated systems provide a number of desirable properties such as ...
research
06/26/2015

Bag-of-Features Image Indexing and Classification in Microsoft SQL Server Relational Database

This paper presents a novel relational database architecture aimed to vi...
research
03/05/2019

Blockchain Meets Database: Design and Implementation of a Blockchain Relational Database

In this paper, we design and implement the first-ever decentralized repl...
research
06/21/2018

Automated Detection of Serializability Violations under Weak Consistency

While a number of weak consistency mechanisms have been developed in rec...
research
04/09/2019

Modeling Corruption in Eventually-Consistent Graph Databases

We present a model and analysis of an eventually consistent graph databa...

Please sign up or login with your details

Forgot password? Click here to reset