• 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