Counterexample-guided abstraction refinement for symmetric concurrent programs
Counterexample-guided abstraction refinement for symmetric concurrent programs
复制标题
DOI:
10.1007/s10703-012-0155-3
复制
发表时间:
2012-04
影响因子:
0.8
通讯作者:
Alastair F. Donaldson;A. Kaiser;D. Kroening;Michael Tautschnig;T. Wahl
中科院分区:
文献类型:
--
作者:
Alastair F. Donaldson;A. Kaiser;D. Kroening;Michael Tautschnig;T. Wahl
Predicate abstraction and counterexample-guided abstraction refinement (CEGAR) have enabled finite-state model checking of software written in mainstream programming languages. This combination of techniques has been successful in analysing system-level sequentialCcode. In contrast, there is little evidence of fruitful applications of CEGAR to shared-variableconcurrentsoftware. We attribute this gap to the lack of abstraction strategies that permit a scalable analysis of the resulting multi-threaded Boolean programs. The goal of this paper is to close this gap. We have developed asymmetry-awareCEGAR technique: it takes into account the replicated structure of programs that consist of many threads executing the same procedure, and generates a Boolean program template whose multi-threaded execution soundly overapproximates the original concurrent program. State explosion during model checking parallel instantiations of this template can now be absorbed by exploiting symmetry. We have implemented our method in a tool,SymmPa, and demonstrate its superior performance over alternative approaches on a range of synchronisation programs.