The University of Southampton
University of Southampton Institutional Repository

Verifying multi-threaded software using SMT-based context-bounded model checking

Verifying multi-threaded software using SMT-based context-bounded model checking
Verifying multi-threaded software using SMT-based context-bounded model checking
We describe and evaluate three approaches to model check multi-threaded software with shared variables and locks using bounded model checking based on Satisfiability Modulo Theories (SMT) and our modelling of the synchronization primitives of the Pthread library. In the lazy approach, we generate all possible interleavings and call the SMT solver 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 and widening approach, we reduce the state space by abstracting the number of interleavings from the proofs of unsatisfiability generated by the SMT solvers. In all three approaches, we bound the number of context switches allowed among threads in order to reduce the number of interleavings explored. We implemented these approaches in ESBMC, our SMT-based bounded model checker for ANSI-C programs. Our experiments show that ESBMC can analyze larger problems and substantially reduce the verification time compared to state-of-the-art techniques that use iterative context-bounding algorithms or counter-example guided abstraction refinement.
978-1-4503-0445-0
331-340
Cordeiro, Lucas
fc7cb054-f39e-4013-9faa-a471bd006596
Fischer, Bernd
0c9575e6-d099-47f1-b3a2-2dbc93c53d18
Cordeiro, Lucas
fc7cb054-f39e-4013-9faa-a471bd006596
Fischer, Bernd
0c9575e6-d099-47f1-b3a2-2dbc93c53d18

Cordeiro, Lucas and Fischer, Bernd (2011) Verifying multi-threaded software using SMT-based context-bounded model checking. International Conference on Software Engineering, Waikiki, Honolulu, Hawaii. 21 - 28 May 2011. pp. 331-340 . (doi:10.1145/1985793.1985839).

Record type: Conference or Workshop Item (Paper)

Abstract

We describe and evaluate three approaches to model check multi-threaded software with shared variables and locks using bounded model checking based on Satisfiability Modulo Theories (SMT) and our modelling of the synchronization primitives of the Pthread library. In the lazy approach, we generate all possible interleavings and call the SMT solver 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 and widening approach, we reduce the state space by abstracting the number of interleavings from the proofs of unsatisfiability generated by the SMT solvers. In all three approaches, we bound the number of context switches allowed among threads in order to reduce the number of interleavings explored. We implemented these approaches in ESBMC, our SMT-based bounded model checker for ANSI-C programs. Our experiments show that ESBMC can analyze larger problems and substantially reduce the verification time compared to state-of-the-art techniques that use iterative context-bounding algorithms or counter-example guided abstraction refinement.

Text
icse11-cordeiro.pdf - Other
Restricted to Repository staff only
Request a copy
Text
icse2011-slides.pdf - Other
Download (497kB)

More information

Published date: 26 May 2011
Venue - Dates: International Conference on Software Engineering, Waikiki, Honolulu, Hawaii, 2011-05-21 - 2011-05-28
Organisations: Electronic & Software Systems

Identifiers

Local EPrints ID: 272050
URI: http://eprints.soton.ac.uk/id/eprint/272050
ISBN: 978-1-4503-0445-0
PURE UUID: 3f751d62-881c-4053-babd-d9e84cc25b6a

Catalogue record

Date deposited: 19 Feb 2011 10:51
Last modified: 14 Mar 2024 09:45

Export record

Altmetrics

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.

×