Semantics for Locking Specifications

Saved in:
Bibliographic Details
Title: Semantics for Locking Specifications
Authors: Michael, Ernst, MACEDONIO, Damiano, MERRO, Massimo, SPOTO, Nicola Fausto
Contributors: Rayadurgam S., Tkachuk O., Michael, Ernst, Macedonio, Damiano, Merro, Massimo, Spoto, Nicola Fausto
Publisher Information: Springer
Publication Year: 2016
Collection: Università degli Studi di Verona: Catalogo dei Prodotti della Ricerca (IRIS)
Subject Terms: Concurrent Java, Data race detection, Semantics of programming languages
Description: Lock-based synchronization disciplines, like Java’s @GuardedBy, are widely used to prevent concurrency errors. However, their semantics is often expressed informally and is consequently ambiguous. This article highlights such ambiguities and overcomes them by formalizing two possible semantics of @GuardedBy, using a reference operational semantics for a core calculus of a concurrent Java-like language. It also identifies when such annotations are actual guarantees against data races. Our work aids in understanding the annotations and supports the development of sound tools that verify or infer them.
Document Type: conference object
File Description: STAMPA
Language: English
Relation: info:eu-repo/semantics/altIdentifier/wos/WOS:000386324800027; ispartofbook:NASA Formal Methods; NASA Formal Methods; volume:9690; firstpage:355; lastpage:372; numberofpages:18; serie:LECTURE NOTES IN COMPUTER SCIENCE; alleditors:Rayadurgam S.; Tkachuk O.; https://hdl.handle.net/11562/944791
DOI: 10.1007/978-3-319-40648-0_27
Availability: https://hdl.handle.net/11562/944791
https://doi.org/10.1007/978-3-319-40648-0_27
Rights: info:eu-repo/semantics/openAccess
Accession Number: edsbas.63DA22DF
Database: BASE
Description
Abstract:Lock-based synchronization disciplines, like Java’s @GuardedBy, are widely used to prevent concurrency errors. However, their semantics is often expressed informally and is consequently ambiguous. This article highlights such ambiguities and overcomes them by formalizing two possible semantics of @GuardedBy, using a reference operational semantics for a core calculus of a concurrent Java-like language. It also identifies when such annotations are actual guarantees against data races. Our work aids in understanding the annotations and supports the development of sound tools that verify or infer them.
DOI:10.1007/978-3-319-40648-0_27