The University of Southampton
University of Southampton Institutional Repository

Bounded model checking of multi-threaded programs via sequentialization

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
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.

Text
thesis.pdf - Other
Download (1MB)

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

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.

×