Partial orders for efficient bounded model checking of concurrent software

The number of interleavings of a concurrent program makes automatic analysis of such software very hard. Modern multiprocessors’ execution models make this problem even harder. Modelling program executions with partial orders rather than interleavings addresses both issues: we obtain an efficient en...

Full description

Bibliographic Details
Main Authors: Alglave, J, Kroening, D, Tautschnig, M
Other Authors: Sharygina, N
Format: Conference item
Published: Springer 2013
_version_ 1797089733095981056
author Alglave, J
Kroening, D
Tautschnig, M
author2 Sharygina, N
author_facet Sharygina, N
Alglave, J
Kroening, D
Tautschnig, M
author_sort Alglave, J
collection OXFORD
description The number of interleavings of a concurrent program makes automatic analysis of such software very hard. Modern multiprocessors’ execution models make this problem even harder. Modelling program executions with partial orders rather than interleavings addresses both issues: we obtain an efficient encoding into integer difference logic for bounded model checking that enables first-time formal verification of deployed concurrent systems code. We implemented the encoding in the CBMC tool and present experiments over a wide range of memory models, including SC, Intel x86 and IBM Power. Our experiments include core parts of PostgreSQL, the Linux kernel and the Apache HTTP server.
first_indexed 2024-03-07T03:08:18Z
format Conference item
id oxford-uuid:b3531391-c4b4-4c38-a279-1799dedb1f1c
institution University of Oxford
last_indexed 2024-03-07T03:08:18Z
publishDate 2013
publisher Springer
record_format dspace
spelling oxford-uuid:b3531391-c4b4-4c38-a279-1799dedb1f1c2022-03-27T04:18:10ZPartial orders for efficient bounded model checking of concurrent softwareConference itemhttp://purl.org/coar/resource_type/c_5794uuid:b3531391-c4b4-4c38-a279-1799dedb1f1cSymplectic Elements at OxfordSpringer2013Alglave, JKroening, DTautschnig, MSharygina, NVeith, HThe number of interleavings of a concurrent program makes automatic analysis of such software very hard. Modern multiprocessors’ execution models make this problem even harder. Modelling program executions with partial orders rather than interleavings addresses both issues: we obtain an efficient encoding into integer difference logic for bounded model checking that enables first-time formal verification of deployed concurrent systems code. We implemented the encoding in the CBMC tool and present experiments over a wide range of memory models, including SC, Intel x86 and IBM Power. Our experiments include core parts of PostgreSQL, the Linux kernel and the Apache HTTP server.
spellingShingle Alglave, J
Kroening, D
Tautschnig, M
Partial orders for efficient bounded model checking of concurrent software
title Partial orders for efficient bounded model checking of concurrent software
title_full Partial orders for efficient bounded model checking of concurrent software
title_fullStr Partial orders for efficient bounded model checking of concurrent software
title_full_unstemmed Partial orders for efficient bounded model checking of concurrent software
title_short Partial orders for efficient bounded model checking of concurrent software
title_sort partial orders for efficient bounded model checking of concurrent software
work_keys_str_mv AT alglavej partialordersforefficientboundedmodelcheckingofconcurrentsoftware
AT kroeningd partialordersforefficientboundedmodelcheckingofconcurrentsoftware
AT tautschnigm partialordersforefficientboundedmodelcheckingofconcurrentsoftware