DocumentCode
2112215
Title
Assuring Lock Usage in Multithreaded Programs with Fractional Permissions
Author
Zhao, Yang ; Boyland, John
Author_Institution
Nanjing Univ. of Sci. & Technol., Nanjing
fYear
2009
fDate
14-17 April 2009
Firstpage
277
Lastpage
286
Abstract
Lock-based synchronization is widely used to avoid data races in multithreaded programs. However, it is hard to assure or verify the safety and correctness of lock usage because of unpredictable interferences between threads. This paper proposes to use a fractional permission system to assure the correct usage of mutual-exclusion locks, that neither data races and deadlocks occur. A permission is an abstract value associated with some piece of state in a program and it is designed to permit corresponding operations. Our permission system includes two characteristic properties: fractions and nesting. Fractions allows one permission to be split into several pieces. Nesting builds a protection relation between the nested and nester permissions. Using our system, we can express the semantics of several lock annotations and then use a permission checker to determine whether given annotations match with underlying program code.
Keywords
concurrency control; multi-threading; deadlock; fractional permission system; lock-based synchronization; multithreaded program; mutual-exclusion lock usage; nested permission; Australia; Concurrent computing; Interference; Java; Permission; Protection; Safety; Software engineering; System recovery; Yarn; fractional permission; lock usage;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering Conference, 2009. ASWEC '09. Australian
Conference_Location
Gold Coast, QLD
ISSN
1530-0803
Print_ISBN
978-0-7695-3599-9
Type
conf
DOI
10.1109/ASWEC.2009.43
Filename
5076650
Link To Document