发表机构
Ohio State University(俄亥俄州立大学)
机构由 AI 辅助整理,请以论文原文为准。AI 中文总结
Augur是首个支持复杂关系查询且仅报告违反视图可串行性执行的动态预测程序分析,可在OLTP-Bench和Spree中发现不可串行执行。
AI 中文摘要
数据存储因提供持久化、可扩展性和容错性且接口简单而被广泛使用,但多数数据存储应用为实现可扩展性能,配置数据存储采用弱隔离级别,导致出现偶发的不可串行执行,这些执行是不正确或失败的。现有研究使用动态预测分析从执行轨迹中推断违反情况,但无法处理带有复杂谓词的关系型(即SQL)查询,且会预测未违反视图可串行性的执行。本文介绍Augur,这是首个动态预测程序分析方法,它支持带有复杂关系查询的数据存储应用,且仅报告违反视图可串行性的执行。评估表明,Augur在广泛使用的OLTP-Bench程序和电商应用Spree中发现了可行的不可串行执行。
英文摘要
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 to achieve scalable performance, resulting in sporadic unserializable executions that are incorrect or fail. Prior work uses dynamic predictive analysis to infer violations from execution traces, but it cannot handle relational (i.e., SQL) queries with complex predicates, and it predicts executions that do not violate View Serializability. 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 the widely used OLTP-Bench programs and in the widely used e-commerce application Spree.
DOI:10.1145/3839480