Bounded Model Checking of Multi-threaded Software using SMT solvers

Cordeiro, Lucas and Fischer, Bernd (2010) Bounded Model Checking of Multi-threaded Software using SMT solvers s.n.


[img] PDF TechnicalReport.pdf - Other
Download (212kB)


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.

Item Type: Monograph (Project Report)
Organisations: Electronic & Software Systems
ePrint ID: 268763
Date :
Date Event
19 March 2010Submitted
Date Deposited: 19 Mar 2010 16:29
Last Modified: 17 Apr 2017 18:29
Further Information:Google Scholar

Actions (login required)

View Item View Item