TitleLocking discipline inference and checking
Publication TypeMiscellaneous
Year of Publication2015
AuthorsErnst MD, Lovato A, Macedonio D, Spoto F, Thaine J
Date or Month PublishedSeptember
AbstractConcurrency 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. \par 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 compare the implementations with one another and with annotations written by programmers.
Downloadshttps://homes.cs.washington.edu/~mernst/pubs/locking-inference-checking-... PDF
Citation KeyErnstLMST2015