The University of Southampton
University of Southampton Institutional Repository

Bounded Model Checking of Multi-threaded Software using SMT solvers

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
Download (1MB)

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

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton: eprints@soton.ac.uk

ePrints Soton supports OAI 2.0 with a base URL of http://eprints.soton.ac.uk/cgi/oai2

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×