Abstract
This paper presents the VerCors approach to verification of concurrent software. It first discusses why verification of concurrent software is important, but also challenging. Then it shows how within the VerCors project we use permission-based separation logic to reason about multithreaded Java programs. We discuss in particular how we use the logic to use different implementations of synchronisers in verification, and how we reason about class invariance properties in a concurrent setting. Further, we also show how the approach is suited to reason about programs using a different concurrency paradigm, namely kernel programs using the Single Instruction Multiple Data paradigm. Concretely, we illustrate how permission-based separation logic is suitable to verify functional correctness properties of OpenCL kernels. All verification techniques discussed in this paper are supported by the VerCors tool set.
Original language | English |
---|---|
Title of host publication | Formal Methods for Executable Software Models |
Subtitle of host publication | 14th International School on Formal Methods for the Design of Computer, Communication, and Software Systems |
Editors | Marco Bernardo, Ferruccio Damiani, Reiner Hähnle, Einar Broch Johnsen, Ina Schaefer |
Place of Publication | Cham |
Publisher | Springer |
Pages | 172-216 |
Number of pages | 45 |
ISBN (Electronic) | 978-3-319-07317-0 |
ISBN (Print) | 978-3-319-07316-3 |
DOIs | |
Publication status | Published - Jun 2014 |
Event | 14th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM 2014 - Bertinoro, Italy Duration: 16 Jun 2014 → 20 Jun 2014 Conference number: 14 |
Publication series
Name | Lecture Notes in Computer Science |
---|---|
Publisher | Springer |
Volume | 8483 |
ISSN (Print) | 0302-9743 |
ISSN (Electronic) | 1611-3349 |
Conference
Conference | 14th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM 2014 |
---|---|
Abbreviated title | SFM |
Country/Territory | Italy |
City | Bertinoro |
Period | 16/06/14 → 20/06/14 |
Keywords
- EC Grant Agreement nr.: FP7/287767
- EC Grant Agreement nr.: FP7/2007-2013
- EC Grant Agreement nr.: FP7/258405
- CR-D.2.4
- Global memory
- Software verification
- VerCors tool
- Concurrency
- Concurrent program
- Concurrent system
- Java modeling language
- Class invariants