The University of Southampton
University of Southampton Institutional Repository

Separating computation from communication: a design approach for concurrent program verification

Separating computation from communication: a design approach for concurrent program verification
Separating computation from communication: a design approach for concurrent program verification
We describe an approach to design static analysis and verification tools for concurrent programs that separates intra-thread computation from inter-thread communication by means of a shared memory abstraction (SMA). We formally characterize the concept of thread-asynchronous transition systems that underpins our approach and that allows us to design tools as two independent components, the intra-thread analysis, which can be optimized separately, and the implementation of the SMA itself, which can be exchanged easily (e.g., from the SC to the TSO memory model). We describe the SMA’s API and show that several concurrent verification techniques from the literature can easily be recast in our setting and thus be extended to weak memory models. We give SMA implementations for the SC, TSO, and PSO memory models that are based on the idea of individual memory unwindings. We instantiate our approach by developing a new, efficient BMC-based bug finding tool for multi-threaded C programs under SC, TSO, or PSO based on these SMAs, and show experimentally that it is competitive to existing tools.
University of Southampton
Tomasco, Ermenegildo
7b944585-0193-4dab-861b-8d5cdccf82cd
Nguyen Lam, Truc
0a373da7-0868-466d-a3b8-060868037acc
Fischer, Bernd
0c9575e6-d099-47f1-b3a2-2dbc93c53d18
La Torre, Salvatore
ec51ffc2-65d9-414e-9dd2-f5f342979c10
Parlato, Gennaro
c28428a0-d3f3-4551-a4b5-b79e410f4923
Tomasco, Ermenegildo
7b944585-0193-4dab-861b-8d5cdccf82cd
Nguyen Lam, Truc
0a373da7-0868-466d-a3b8-060868037acc
Fischer, Bernd
0c9575e6-d099-47f1-b3a2-2dbc93c53d18
La Torre, Salvatore
ec51ffc2-65d9-414e-9dd2-f5f342979c10
Parlato, Gennaro
c28428a0-d3f3-4551-a4b5-b79e410f4923

Tomasco, Ermenegildo, Nguyen Lam, Truc, Fischer, Bernd, La Torre, Salvatore and Parlato, Gennaro (2016) Separating computation from communication: a design approach for concurrent program verification Southampton, GB. University of Southampton 31pp.

Record type: Monograph (Project Report)

Abstract

We describe an approach to design static analysis and verification tools for concurrent programs that separates intra-thread computation from inter-thread communication by means of a shared memory abstraction (SMA). We formally characterize the concept of thread-asynchronous transition systems that underpins our approach and that allows us to design tools as two independent components, the intra-thread analysis, which can be optimized separately, and the implementation of the SMA itself, which can be exchanged easily (e.g., from the SC to the TSO memory model). We describe the SMA’s API and show that several concurrent verification techniques from the literature can easily be recast in our setting and thus be extended to weak memory models. We give SMA implementations for the SC, TSO, and PSO memory models that are based on the idea of individual memory unwindings. We instantiate our approach by developing a new, efficient BMC-based bug finding tool for multi-threaded C programs under SC, TSO, or PSO based on these SMAs, and show experimentally that it is competitive to existing tools.

Text
IdividualMU.pdf - Other
Download (432kB)

More information

Published date: April 2016
Organisations: Electronic & Software Systems

Identifiers

Local EPrints ID: 397905
URI: http://eprints.soton.ac.uk/id/eprint/397905
PURE UUID: 9c7ddca8-6c41-432f-b90b-49611451946d

Catalogue record

Date deposited: 09 Jul 2016 16:21
Last modified: 15 Mar 2024 01:24

Export record

Contributors

Author: Ermenegildo Tomasco
Author: Truc Nguyen Lam
Author: Bernd Fischer
Author: Salvatore La Torre
Author: 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.

×