paperbot · PL 论文追踪

全部论文 待读 收藏

P2 IsoPredict: Dynamic Predictive Analysis for Detecting Unserializable Behaviors in Weakly Isolated Data Store Applications

IsoPredict:用于检测弱隔离数据存储应用中不可串行化行为的动态预测分析
PLDI 8(PLDI)2024匹配度 3/10 · 论文是面向弱隔离数据存储的并发动态预测分析与 SMT 验证工作,属于程序分析与形式化验证,但未涉及用户核心关注的 LLM/Agent 与静态分析交叉、浮点程序分析或贝叶斯程序分析,因此匹配度较低。引用 3 inbox
Chujun Geng, Spyros Blanas, Michael D. Bond, Yang Wang
crossref: 2026-09-10

AI 速览

一句话:首个面向弱隔离数据存储应用的动态预测分析,通过SMT求解预测可行的不可串行化执行。

分布式数据存储通常提供弱隔离级别,虽高效但可能引入难以理解和调试的不可串行化行为。本文提出 IsoPredict,这是首个针对弱隔离级别下数据存储应用的动态预测分析。给定一次观测到的可串行化执行,IsoPredict 生成并求解 SMT 约束,以寻找该应用中可能发生且实际可行的不可串行化执行。为应对应用行为发散、互相递归的约束集以及覆盖、精度与性能之间的平衡,论文提出了若干新技术。作者在四个事务性数据存储基准上进行了评估,结果表明 IsoPredict 经常能预测出不可串行化行为,且其中 99% 的执行是实际可行的。

问题
弱隔离级别的数据存储虽高效,却可能产生难以理解并常导致错误的不可串行化行为;现有方法缺少对此类应用的有效动态预测分析。
方法
IsoPredict 从观测到的可串行化执行出发,生成并求解 SMT 约束,以寻找应用可行的不可串行化执行,并引入处理发散行为、互递归约束以及覆盖/精度/性能平衡的技术。
评估
在四个事务性数据存储基准上进行评估,IsoPredict 经常预测出不可串行化行为,其中 99% 被确认为可行执行。
原文摘要(Abstract)

Distributed data stores typically provide weak isolation levels, which are efficient but can lead to unserializable behaviors, which are hard for programmers to understand and often result in errors. This paper presents the first dynamic predictive analysis for data store applications under weak isolation levels, called IsoPredict . Given an observed serializable execution of a data store application, IsoPredict generates and solves SMT constraints to find an unserializable execution that is a feasible execution of the application. IsoPredict introduces novel techniques that handle divergent application behavior; solve mutually recursive sets of constraints; and balance coverage, precision, and performance. An evaluation on four transactional data store benchmarks shows that IsoPredict often predicts unserializable behaviors, 99 % of which are feasible.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot2519,
  title = {IsoPredict: Dynamic Predictive Analysis for Detecting Unserializable Behaviors in Weakly Isolated Data Store Applications},
  author = {Chujun Geng and Spyros Blanas and Michael D. Bond and Yang Wang},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {PLDI},
  year = {2024},
  doi = {10.1145/3656391}
}