Predicting Serializability Violations: SMT-Based Search vs. DPOR-Based Search
Predicting Serializability Violations: SMT-Based Search vs. DPOR-Based Search
复制标题
预测可串行性违规:基于 SMT 的搜索与基于 DPOR 的搜索
DOI:
--
复制
发表时间:
2011
期刊:
影响因子:
--
通讯作者:
Aarti Gupta
中科院分区:
文献类型:
--
作者:
Arnab Sinha;S. Malik;Chao Wang;Aarti Gupta
In our recent work, we addressed the problem of detecting serializability violations in a concurrent program using predictive analysis, where we used a graph-based method to derive a predictive model from a given test execution. The exploration of the predictive model to check alternate interleavings of events in the execution was performed explicitly, based on stateless model checking using dynamic partial order reduction (DPOR). Although this was effective on some benchmarks, the explicit enumeration was too expensive on other examples. This motivated us to examine alternatives based on symbolic exploration using SMT solvers. In this paper, we propose an SMT-based encoding for detecting serializability violations in our predictive model. SMT-based encodings for detecting simpler atomicity violations (with two threads and a single variable) have been used before, but to our knowledge, our work is the first to use them for serializability violations with any number of threads and variables. We also describe details of our DPOR-based explicit search and pruning, and present an experimental evaluation comparing the two search techniques. This provides some insight into the characteristics of the instances when one of these is superior to the other. These characteristics can then be used to predict the preferred technique for a given instance.