Bounded Model Checking of Multi-threaded Software using SMT solvers
Bounded Model Checking of Multi-threaded Software using SMT solvers
The transition from single-core to multi-core processors has made multi-threaded software an important subject in computer aided verification. Here, we describe and evaluate an extension of the ESBMC model checker to support the verification of multi-threaded software with shared variables and locks using bounded model checking (BMC) based on Satisfiability Modulo Theories (SMT). We describe three approaches to model check multi-threaded software and our modelling of the synchronization primitives of the Pthread library. In the lazy approach, we generate all possible interleavings and call the BMC procedure on each of them individually, until we either find a bug, or have systematically explored all interleavings. In the schedule recording approach, we encode all possible interleavings into one single formula and then exploit the high speed of the SMT solvers. In the underapproximation-widening approach, we reduce the state space by abstracting the number of state variables and interleavings from the proofs of unsatisfiability generated by the SMT solvers. In all three approaches, we use partial-order reduction (POR) techniques to reduce the number of interleavings explored. Experiments show that our approaches can analyze larger problems and substantially reduce the verification time compared to state-of-the-art techniques that combine classic POR methods with symbolic algorithms and others that implement the Counter-Example Guided Abstraction Refinement technique.
Cordeiro, Lucas
3580f117-e41c-4235-982c-51d383e40883
Fischer, Bernd
0c9575e6-d099-47f1-b3a2-2dbc93c53d18
Cordeiro, Lucas
3580f117-e41c-4235-982c-51d383e40883
Fischer, Bernd
0c9575e6-d099-47f1-b3a2-2dbc93c53d18
Cordeiro, Lucas and Fischer, Bernd
(2010)
Bounded Model Checking of Multi-threaded Software using SMT solvers.
8th International Workshop on Satisfiability Modulo Theories, Edinburgh.
14 - 15 Jul 2010.
(In Press)
Record type:
Conference or Workshop Item
(Other)
Abstract
The transition from single-core to multi-core processors has made multi-threaded software an important subject in computer aided verification. Here, we describe and evaluate an extension of the ESBMC model checker to support the verification of multi-threaded software with shared variables and locks using bounded model checking (BMC) based on Satisfiability Modulo Theories (SMT). We describe three approaches to model check multi-threaded software and our modelling of the synchronization primitives of the Pthread library. In the lazy approach, we generate all possible interleavings and call the BMC procedure on each of them individually, until we either find a bug, or have systematically explored all interleavings. In the schedule recording approach, we encode all possible interleavings into one single formula and then exploit the high speed of the SMT solvers. In the underapproximation-widening approach, we reduce the state space by abstracting the number of state variables and interleavings from the proofs of unsatisfiability generated by the SMT solvers. In all three approaches, we use partial-order reduction (POR) techniques to reduce the number of interleavings explored. Experiments show that our approaches can analyze larger problems and substantially reduce the verification time compared to state-of-the-art techniques that combine classic POR methods with symbolic algorithms and others that implement the Counter-Example Guided Abstraction Refinement technique.
Text
smt2010-slides.pdf
- Other
More information
Accepted/In Press date: 15 July 2010
Additional Information:
Event Dates: July 14–15, 2010
Venue - Dates:
8th International Workshop on Satisfiability Modulo Theories, Edinburgh, 2010-07-14 - 2010-07-15
Organisations:
Electronic & Software Systems
Identifiers
Local EPrints ID: 271409
URI: http://eprints.soton.ac.uk/id/eprint/271409
PURE UUID: a8a5c3bf-a434-4f05-a3e6-e0a5fe83546a
Catalogue record
Date deposited: 16 Jul 2010 07:59
Last modified: 14 Mar 2024 09:30
Export record
Contributors
Author:
Lucas Cordeiro
Author:
Bernd Fischer
Download statistics
Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.
View more statistics