一句话:提出 Augur,首个支持复杂 SQL 查询且仅报告真正违反视图可串行化执行的动态预测分析。
关系数据存储应用通常配置弱隔离以换取可扩展性能,因而可能出现偶发的不可串行化执行,导致错误结果或运行失败。已有基于执行轨迹的动态预测分析能推断此类违反,但无法处理带复杂谓词的 SQL 关系查询,且会预测出并不违反 View Serializability 的执行,带来漏报与误报。本文提出 Augur,首个支持复杂关系查询、且仅报告违反 View Serializability 的执行的动态预测程序分析。评估表明,Augur 能在 OLTP-Bench 程序以及广泛使用的电商应用 Spree 中发现可行的不可串行化执行。
Relational data stores are widely used because they provide persistence, scalability, and fault tolerance with a simple interface. However, most data store applications configure the data store to use weak isolation for scalable performance, permitting sporadic unserializable executions that produce incorrect results or failures. Prior work uses dynamic predictive analysis to infer violations from execution traces, but existing techniques cannot handle relational (i.e., SQL) queries with complex predicates, and they predict executions that do not violate View Serializability, leading to false negatives and false positives. This paper introduces Augur, the first dynamic predictive program analysis that (1) supports data store applications with complex relational queries and (2) reports only executions that violate View Serializability. The evaluation demonstrates that Augur finds feasible, unserializable executions in OLTP-Bench programs and in the widely used e-commerce application Spree.
@article{paperbot12146,
title = {Augur: Predicting View Serializability Violations in Relational Data Store Applications},
author = {Chujun Geng and Noah Charlton and Spyros Blanas and Michael D. Bond and Yang Wang},
journal = {Proceedings of the ACM on Programming Languages},
volume = {10},
number = {OOPSLA2},
year = {2026},
doi = {10.1145/3839480}
}