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