The verification of transactional concurrent programs running over causally consistent databases is a challenging problem. We present a framework for efficient stateless model checking (SMC) of concurrent programs with transactions under two well known models of causal consistency, CCv and CC. Our approach is based on exploring the program order po and the reads from rf relations, avoiding exploration of all possible coherence orders. Our SMC algorithm is provably optimal in the sense that it explores each po and rf relation exactly once. We have implemented our framework in a tool called \ourtool{}. Experiments show that \ourtool{} performs well in detecting anomalies in classical distributed databases benchmarks.
翻译:核实在因果一致数据库上运行的并行交易程序是一个具有挑战性的问题。 我们提出了一个框架,用于根据两个众所周知的因果一致性模式(CCv和CC)对同时进行交易的无国籍程序进行有效的模式检查。 我们的方法是基于探索程序订单po和Rf关系中的读数,避免探索所有可能的一致命令。 我们的SMC算法是最佳的,因为它可以精确地探索每个波和rf关系一次。 我们已经在一个名为\ourtool\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\