【24h】

Testing for Race Conditions in Distributed Systems via SMT Solving

机译:通过SMT解决方案测试分布式系统中的竞争条件

获取原文

摘要

Data races, a condition where two memory accesses to the same memory location occur concurrently, have been shown to be a major source of concurrency bugs in distributed systems. Unfortunately, data races are often triggered by non-deterministic event orderings that are hard to detect when testing complex distributed systems. In this paper, we propose SPIDER, an automated tool for identifying data races in distributed system traces. Spider encodes the causal relations between the events in the trace as a symbolic constraint model, which is then fed into an SMT solver to check for the presence of conflicting concurrent accesses. To reduce the constraint solving time, SPIDER employs a pruning technique aimed at removing redundant portions of the trace. Our experiments with multiple benchmarks show that Spider is effective in detecting data races in distributed executions in a practical amount of time, providing evidence of its usefulness as a testing tool.
机译:数据争用是两个内存同时访问同一内存位置的情况,已被证明是分布式系统中并发错误的主要来源。不幸的是,数据争用通常是由不确定性事件顺序触发的,这些不确定性事件顺序在测试复杂的分布式系统时很难检测到。在本文中,我们提出了SPIDER,这是一种用于识别分布式系统跟踪中的数据竞争的自动化工具。 Spider将符号中的事件之间的因果关系编码为符号约束模型,然后将其馈送到SMT求解器中以检查是否存在冲突的并发访问。为了减少约束求解时间,SPIDER采用了一种修剪技术,旨在去除迹线的多余部分。我们在多个基准测试中的实验表明,Spider在有效的时间内可以有效地检测分布式执行中的数据竞争,从而证明了它作为测试工具的有用性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号