Bounded model checking of multi-threaded programs via sequentialization
Bounded model checking of multi-threaded programs via sequentialization
In order to achieve greater computational power, processors now contain several cores that work in parallel and, consequently, multi-threaded software is rapidly becoming widespread.
The inherently nondeterministic nature of concurrent computations can cause errors that show up rarely and are difficult to reproduce and repair. Traditional testing techniques perform an explicit exploration of the possible program executions, and are thus not adequate to spot such bugs. They need to be complemented by symbolic verification techniques that analyse multiple thread interactions simultaneously.
Sequentialization consists in translating a given concurrent program into a corresponding non-deterministic sequential program that simulates executions of the original program. We investigate on whether combining sequentialization (to symbolically represent thread interleavings) with bounded model-checking (BMC) can be effective for finding errors in concurrent software.
Specifically, we target multi-threaded C programs with POSIX threads. We make the following contributions: (1) evaluate the Lal-Reps sequentialization schema in combination with BMC; (2) propose and evaluate a new sequentialization schema specifically tailored to BMC and aimed at fast bug finding; (3) present a framework for building tools based on sequentialization.
Inverso, Omar
680db08a-49d7-419f-8194-64071cf40afe
November 2015
Inverso, Omar
680db08a-49d7-419f-8194-64071cf40afe
Parlato, Gennaro
c28428a0-d3f3-4551-a4b5-b79e410f4923
Inverso, Omar
(2015)
Bounded model checking of multi-threaded programs via sequentialization.
University of Southampton, Electronics and Computer Science (ECS), Doctoral Thesis, 110pp.
Record type:
Thesis
(Doctoral)
Abstract
In order to achieve greater computational power, processors now contain several cores that work in parallel and, consequently, multi-threaded software is rapidly becoming widespread.
The inherently nondeterministic nature of concurrent computations can cause errors that show up rarely and are difficult to reproduce and repair. Traditional testing techniques perform an explicit exploration of the possible program executions, and are thus not adequate to spot such bugs. They need to be complemented by symbolic verification techniques that analyse multiple thread interactions simultaneously.
Sequentialization consists in translating a given concurrent program into a corresponding non-deterministic sequential program that simulates executions of the original program. We investigate on whether combining sequentialization (to symbolically represent thread interleavings) with bounded model-checking (BMC) can be effective for finding errors in concurrent software.
Specifically, we target multi-threaded C programs with POSIX threads. We make the following contributions: (1) evaluate the Lal-Reps sequentialization schema in combination with BMC; (2) propose and evaluate a new sequentialization schema specifically tailored to BMC and aimed at fast bug finding; (3) present a framework for building tools based on sequentialization.
More information
Published date: November 2015
Organisations:
University of Southampton, Electronic & Software Systems
Identifiers
Local EPrints ID: 386739
URI: http://eprints.soton.ac.uk/id/eprint/386739
PURE UUID: 51c1e552-0feb-477b-b80e-69023ec59b25
Catalogue record
Date deposited: 30 Jan 2016 23:14
Last modified: 14 Mar 2024 22:37
Export record
Contributors
Author:
Omar Inverso
Thesis advisor:
Gennaro Parlato
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