Bounded model checking of multi-threaded c programs via lazy sequentialization
Bounded model checking of multi-threaded c programs via lazy sequentialization
Bounded model checking (BMC) has successfully been used for many practical program verification problems, but concurrency still poses a challenge. Here we describe a new approach to BMC of sequentially consistent C programs using POSIX threads. Our approach first translates a multi-threaded C program into a nondeterministic sequential C program that preserves reachability for all round-robin schedules with a given bound on the number of rounds. It then re-uses existing high-performance BMC tools as backends for the sequential verification problem. Our translation is carefully designed to introduce very small memory overheads and very few sources of nondeterminism, so that it produces tight SAT/SMT formulae, and is thus very effective in practice: our prototype won the concurrency category of SV-COMP14. It solved all verification tasks successfully and was 30x faster than the best tool with native concurrency handling.
585-602
Inverso, Omar
1a7b5398-791c-479b-88c9-2442212d0a28
Tomasco, Ermenegildo
7b944585-0193-4dab-861b-8d5cdccf82cd
Fischer, Bernd
0c9575e6-d099-47f1-b3a2-2dbc93c53d18
La Torre, Salvatore
ec51ffc2-65d9-414e-9dd2-f5f342979c10
Parlato, Gennaro
c28428a0-d3f3-4551-a4b5-b79e410f4923
July 2014
Inverso, Omar
1a7b5398-791c-479b-88c9-2442212d0a28
Tomasco, Ermenegildo
7b944585-0193-4dab-861b-8d5cdccf82cd
Fischer, Bernd
0c9575e6-d099-47f1-b3a2-2dbc93c53d18
La Torre, Salvatore
ec51ffc2-65d9-414e-9dd2-f5f342979c10
Parlato, Gennaro
c28428a0-d3f3-4551-a4b5-b79e410f4923
Inverso, Omar, Tomasco, Ermenegildo, Fischer, Bernd, La Torre, Salvatore and Parlato, Gennaro
(2014)
Bounded model checking of multi-threaded c programs via lazy sequentialization.
Biere, A. and Bloem, R.
(eds.)
In Computer Aided Verification. CAV 2014.
vol. 8559,
Springer.
.
(doi:10.1007/978-3-319-08867-9_39).
Record type:
Conference or Workshop Item
(Paper)
Abstract
Bounded model checking (BMC) has successfully been used for many practical program verification problems, but concurrency still poses a challenge. Here we describe a new approach to BMC of sequentially consistent C programs using POSIX threads. Our approach first translates a multi-threaded C program into a nondeterministic sequential C program that preserves reachability for all round-robin schedules with a given bound on the number of rounds. It then re-uses existing high-performance BMC tools as backends for the sequential verification problem. Our translation is carefully designed to introduce very small memory overheads and very few sources of nondeterminism, so that it produces tight SAT/SMT formulae, and is thus very effective in practice: our prototype won the concurrency category of SV-COMP14. It solved all verification tasks successfully and was 30x faster than the best tool with native concurrency handling.
Text
LazyCseqPaper.pdf
- Other
More information
e-pub ahead of print date: 18 July 2014
Published date: July 2014
Venue - Dates:
26th International Conference on Computer Aided Verification (CAV 2014), , Wien, Austria, 2014-07-18 - 2014-07-22
Organisations:
Electronic & Software Systems
Identifiers
Local EPrints ID: 365365
URI: http://eprints.soton.ac.uk/id/eprint/365365
ISSN: 0302-9743
PURE UUID: 1742a0d6-d410-4768-975f-5fadbaf88e28
Catalogue record
Date deposited: 03 Jun 2014 08:51
Last modified: 16 Mar 2024 10:09
Export record
Altmetrics
Contributors
Author:
Omar Inverso
Author:
Ermenegildo Tomasco
Author:
Bernd Fischer
Author:
Salvatore La Torre
Author:
Gennaro Parlato
Editor:
A. Biere
Editor:
R. Bloem
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