The University of Southampton
University of Southampton Institutional Repository

Lazy sequentialization for the safety verification of unbounded concurrent programs

Lazy sequentialization for the safety verification of unbounded concurrent programs
Lazy sequentialization for the safety verification of unbounded concurrent programs
Lazy sequentialization has emerged as one of the most promising approaches for concurrent program analysis but the only efficient implementation given so far works just for bounded programs. This restricts the approach to bug-finding purposes. In this paper, we describe and evaluate a new lazy sequentialization translation that does not unwind loops and thus allows to analyze unbounded computations, even with an unbounded number of context switches. In connection with an appropriate sequential backend verification tool it can thus also be used for the safety verification of concurrent programs, rather than just for bug-finding. The main technical novelty of our translation is the simulation of the thread resumption in a way that does not use gotos and thus does not require that each statement is executed at most once. We have implemented this translation in the UL-CSeq tool for C99 programs that use the pthreads API. We evaluate UL-CSeq on several benchmarks, using different sequential verification backends on the sequentialized program, and show that it is more effective than previous approaches in proving the correctness of the safe benchmarks, and still remains competitive with state-of-the-art approaches for finding bugs in the unsafe benchmarks.
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
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

Nguyen Lam, Truc, Fischer, Bernd, La Torre, Salvatore and Parlato, Gennaro (2016) Lazy sequentialization for the safety verification of unbounded concurrent programs. 14th International Symposium on Automated Technology for Verification and Analysis (ATVA), Chiba, Japan. 17 - 19 Oct 2016. 16 pp . (doi:10.1007/978-3-319-46520-3_12).

Record type: Conference or Workshop Item (Paper)

Abstract

Lazy sequentialization has emerged as one of the most promising approaches for concurrent program analysis but the only efficient implementation given so far works just for bounded programs. This restricts the approach to bug-finding purposes. In this paper, we describe and evaluate a new lazy sequentialization translation that does not unwind loops and thus allows to analyze unbounded computations, even with an unbounded number of context switches. In connection with an appropriate sequential backend verification tool it can thus also be used for the safety verification of concurrent programs, rather than just for bug-finding. The main technical novelty of our translation is the simulation of the thread resumption in a way that does not use gotos and thus does not require that each statement is executed at most once. We have implemented this translation in the UL-CSeq tool for C99 programs that use the pthreads API. We evaluate UL-CSeq on several benchmarks, using different sequential verification backends on the sequentialized program, and show that it is more effective than previous approaches in proving the correctness of the safe benchmarks, and still remains competitive with state-of-the-art approaches for finding bugs in the unsafe benchmarks.

Text
Lazy_Sequentialization_for_the_Safety_Verification_of_Unbounded_Concurrent_Programs.pdf - Accepted Manuscript
Download (192kB)

More information

Accepted/In Press date: 17 June 2016
e-pub ahead of print date: 22 September 2016
Published date: September 2016
Venue - Dates: 14th International Symposium on Automated Technology for Verification and Analysis (ATVA), Chiba, Japan, 2016-10-17 - 2016-10-19
Organisations: Electronic & Software Systems

Identifiers

Local EPrints ID: 397033
URI: http://eprints.soton.ac.uk/id/eprint/397033
PURE UUID: e603fa15-2c26-4364-be2a-6d7921f2ed3e

Catalogue record

Date deposited: 18 Jun 2016 00:41
Last modified: 15 Mar 2024 01:04

Export record

Altmetrics

Contributors

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.

×