Journal article icon

Journal article

Counterexample-guided abstraction refinement for symmetric concurrent programs

Abstract:
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 sequential C code. In contrast, there is little evidence of fruitful applications of CEGAR to shared-variable concurrent software. 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 a symmetry-aware CEGAR 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.
Publication status:
Published
Peer review status:
Peer reviewed

Actions


Access Document


Files:
Publisher copy:
10.1007/s10703-012-0155-3

Authors


More by this author
Institution:
University of Oxford
Division:
MPLS
Department:
Computer Science
Role:
Author


Publisher:
Springer
Journal:
Formal Methods in System Design More from this journal
Volume:
41
Issue:
1
Pages:
25-44
Publication date:
2012-08-01
DOI:
EISSN:
1572-8102
ISSN:
0925-9856


Keywords:
Pubs id:
pubs:327203
UUID:
uuid:b812ccac-2412-454c-8e05-570f6ad071de
Local pid:
pubs:327203
Source identifiers:
327203
Deposit date:
2017-01-28

Terms of use



Views and Downloads






If you are the owner of this record, you can report an update to it here: Report update to this record

TO TOP