Plume: Efficient and Complete Black-Box Checking of Weak Isolation Levels

Modern databases embrace weak isolation levels to cater for highly available transactions. However, weak isolation bugs have recently manifested in many production databases. This raises the concern of whether database implementations actually deliver their promised isolation guarantees in practice. In this paper we present Plume, the first efficient, complete, black-box checker for weak isolation levels. Plume builds on modular, fine-grained, transactional anomalous patterns, with which we establish sound and complete characterizations of representative weak isolation levels, including read committed, read atomicity, and transactional causal consistency. Plume leverages a novel combination of two techniques, vectors and tree clocks, to accelerate isolation checking. Our extensive assessment shows that Plume can reproduce all known violations in a large collection of anomalous database execution histories, detect new isolation bugs in three production databases along with informative counterexamples, find more weak isolation anomalies than the state-of-the-art checkers, and efficiently validate isolation guarantees under a wide variety of workloads.

Authors

Institutions

Publication Details

Journal
Proceedings of the ACM on Programming Languages
Published
2024-10-08
DOI
https://doi.org/10.1145/3689742
Citations
9
Primary Topic
Distributed systems and fault tolerance
Type
article
Field-Weighted Citation Impact
3.14
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Plume: Efficient and Complete Black-Box Checking of Weak Isolation Levels

David Basin, Hengfeng Wei, Si Liu, Long Gu
9 citations
Proceedings of the ACM on Programming Languages
Distributed systems and fault tolerance
3.14
article

Plume: Efficient and Complete Black-Box Checking of Weak Isolation Levels

David Basin, Hengfeng Wei, Si Liu, Long Gu
article en
9 citations

Abstract

Modern databases embrace weak isolation levels to cater for highly available transactions. However, weak isolation bugs have recently manifested in many production databases. This raises the concern of whether database implementations actually deliver their promised isolation guarantees in practice. In this paper we present Plume, the first efficient, complete, black-box checker for weak isolation levels. Plume builds on modular, fine-grained, transactional anomalous patterns, with which we establish sound and complete characterizations of representative weak isolation levels, including read committed, read atomicity, and transactional causal consistency. Plume leverages a novel combination of two techniques, vectors and tree clocks, to accelerate isolation checking. Our extensive assessment shows that Plume can reproduce all known violations in a large collection of anomalous database execution histories, detect new isolation bugs in three production databases along with informative counterexamples, find more weak isolation anomalies than the state-of-the-art checkers, and efficiently validate isolation guarantees under a wide variety of workloads.

Proceedings of the ACM on Programming LanguagesVol. 8(OOPSLA2)
ETH Zurich (CH), Nanjing University (CN)
Partnerships for the goals
Openalex Percentile: Top 8%
Distributed systems and fault tolerance
3.14
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Plume: Efficient and Complete Black-Box Checking of Weak Isolation Levels — David Basin, Hengfeng Wei, et al. · Proceedings of the ACM on Programming Languages (2024) | TGRS Research Map | TGRS