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


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 University of Southampton 31pp. , Southampton, GB

Download

[img] PDF IdividualMU.pdf - Other
Download (432kB)

Description/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 develop- ing 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.

Item Type: Monograph (Project Report)
Organisations: Electronic & Software Systems
ePrint ID: 397905
Date :
Date Event
April 2016Published
Date Deposited: 09 Jul 2016 16:21
Last Modified: 10 Mar 2017 11:08
Further Information:Google Scholar
URI: http://eprints.soton.ac.uk/id/eprint/397905

Actions (login required)

View Item View Item