• DocumentCode
    725415
  • Title

    A Symbolic Approach to Permission Accounting for Concurrent Reasoning

  • Author

    Huisman, Marieke ; Mostowski, Wojciech

  • Author_Institution
    Formal Methods & Tools, Univ. of Twente, Enschede, Netherlands
  • fYear
    2015
  • fDate
    June 29 2015-July 2 2015
  • Firstpage
    165
  • Lastpage
    174
  • Abstract
    Permission accounting is fundamental to modular, thread-local reasoning about concurrent programs. This paper presents a new, symbolic system for permission accounting. In existing systems, permissions are numeric value-based and refer to the current thread only. Our system is based on symbolic expressions that provide a view of permissions for all relevant threads in the scope of the permission originator - current thread or a lock. This enables: (a) better understanding of permission tracking for the specifier, (b) more natural specification of complex permission transfer scenarios, and (c) more efficient reasoning for verification tools (in particular, no reasoning about rational numbers is required). Our system is based on symbolic permission slicing to divide permissions between multiple owners, and on tracking the history of permission transfers by means of "I-owe-you" chains of permission owners. We acclimatised our permission system in the KeY verifier as well as in PVS, and proved correct with both tools a list of vital properties about our permissions. KeY is an interactive verification tool for Java and our primary target to employ our permission system. First results with the verification of concurrent Java programs using our permission system in KeY are also reported.
  • Keywords
    Java; inference mechanisms; program slicing; program verification; KeY verifier; PVS; concurrent Java programs; concurrent reasoning; i-owe-you chains; interactive verification tool; permission accounting; permission originator; permission owners; permission tracking; permission transfers; symbolic approach; symbolic expressions; symbolic permission slicing; thread-local reasoning; verification tools; Cognition; History; Instruction sets; Java; Message systems; Permission; Synchronization; Java; formal specification; fractional permissions; interactive verification; permission accounting;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Computing (ISPDC), 2015 14th International Symposium on
  • Conference_Location
    Limassol
  • Print_ISBN
    978-1-4673-7147-6
  • Type

    conf

  • DOI
    10.1109/ISPDC.2015.26
  • Filename
    7165143