Concurrency is a requirement for much modern software, but the implementation of multithreaded algorithms comes at the risk of errors such as data races. Programmers can prevent data races by documenting and obeying a locking discipline, which indicates which locks must be held in order to access which data. This paper introduces a formal semantics for locking specifications that gives a guarantee of race freedom. The paper also provides two implementations of the formal semantics for the Java language: one based on abstract interpretation and one based on type theory. To the best of our knowledge, these are the first tools that can soundly infer and check a locking discipline for Java. Our experiments com-pare the implementations with one another and with annotations written by programmers.

Locking Discipline Inference and Checking

LOVATO, Alberto;MACEDONIO, Damiano;SPOTO, Nicola Fausto;
2016-01-01

Abstract

Concurrency is a requirement for much modern software, but the implementation of multithreaded algorithms comes at the risk of errors such as data races. Programmers can prevent data races by documenting and obeying a locking discipline, which indicates which locks must be held in order to access which data. This paper introduces a formal semantics for locking specifications that gives a guarantee of race freedom. The paper also provides two implementations of the formal semantics for the Java language: one based on abstract interpretation and one based on type theory. To the best of our knowledge, these are the first tools that can soundly infer and check a locking discipline for Java. Our experiments com-pare the implementations with one another and with annotations written by programmers.
2016
Inglese
STAMPA
Esperti anonimi
International Conference on Software Engineering (ICSE)
Austin, Texas
2016
Internazionale
contributo
Proceedings of the 38th International Conference on Software Engineering (ICSE)
ACM
STATI UNITI D'AMERICA
978-1-4503-3900-1
1133
1144
12
Static Analysis, concurrent programs, multithreaded programs
open
Ernst, Michael D.; Lovato, Alberto; Macedonio, Damiano; Spoto, Nicola Fausto; Thaine, Javier
5
04 Contributo in atti di convegno::04.01 Contributo in atti di convegno
273
info:eu-repo/semantics/conferenceObject
File in questo prodotto:
File Dimensione Formato  
p1133-ernst.pdf

accesso aperto

Tipologia: Versione dell'editore
Licenza: Accesso ristretto
Dimensione 295.81 kB
Formato Adobe PDF
295.81 kB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11562/937422
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 9
  • ???jsp.display-item.citation.isi??? 6
social impact