Title :
Assuring Lock Usage in Multithreaded Programs with Fractional Permissions
Author :
Zhao, Yang ; Boyland, John
Author_Institution :
Nanjing Univ. of Sci. & Technol., Nanjing
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;
Conference_Titel :
Software Engineering Conference, 2009. ASWEC '09. Australian
Conference_Location :
Gold Coast, QLD
Print_ISBN :
978-0-7695-3599-9
DOI :
10.1109/ASWEC.2009.43