Dynamic Partial Order Reduction for Checking Correctness against Transaction Isolation Levels

03/22/2023
by   Ahmed Bouajjani, et al.
0

Modern applications, such as social networking systems and e-commerce platforms are centered around using large-scale databases for storing and retrieving data. Accesses to the database are typically enclosed in transactions that allow computations on shared data to be isolated from other concurrent computations and resilient to failures. Modern databases trade isolation for performance. The weaker the isolation level is, the more behaviors a database is allowed to exhibit and it is up to the developer to ensure that their application can tolerate those behaviors. In this work, we propose stateless model checking algorithms for studying correctness of such applications that rely on dynamic partial order reduction. These algorithms work for a number of widely-used weak isolation levels, including Read Committed, Causal Consistency, Snapshot Isolation, and Serializability. We show that they are complete, sound and optimal, and run with polynomial memory consumption in all cases. We report on an implementation of these algorithms in the context of Java Pathfinder applied to a number of challenging applications drawn from the literature of distributed systems and databases.

READ FULL TEXT
research
03/04/2021

MonkeyDB: Effectively Testing Correctness against Weak Isolation Levels

Modern applications, such as social networking systems and e-commerce pl...
research
06/29/2022

Coo: Consistency Check for Transactional Databases

In modern databases, transaction processing technology provides ACID (At...
research
08/13/2019

On the Complexity of Checking Transactional Consistency

Transactions simplify concurrent programming by enabling computations on...
research
02/08/2018

Stubborn Transaction Reduction (with Proofs)

The exponential explosion of parallel interleavings remains a fundamenta...
research
03/23/2020

Elle: Inferring Isolation Anomalies from Experimental Observations

Users who care about their data store it in databases, which (at least i...
research
06/28/2019

Robustness Against Transactional Causal Consistency

Distributed storage systems and databases are widely used by various typ...
research
10/26/2017

Alone Together: Compositional Reasoning and Inference for Weak Isolation

Serializability is a well-understood correctness criterion that simplifi...

Please sign up or login with your details

Forgot password? Click here to reset