• DocumentCode
    1690325
  • Title

    Specifying multithreaded Java semantics for program verification

  • Author

    Roychoudhury, Abhik ; Mitra, Tulika

  • Author_Institution
    Dept. of Comput. Sci., Nat. Univ. of Singapore, Singapore
  • fYear
    2002
  • Firstpage
    489
  • Lastpage
    499
  • Abstract
    Most current work on multithreaded Java program verification assumes a model of execution that is based on interleaving of the operations of the individual threads. However, the Java language specification supports a weaker model of execution, called the Java Memory Model (JMM). The JMM allows certain reordering of operations within a thread and thus permits more behaviors than the interleaving based execution model. Therefore, programs verified by assuming interleaved thread execution may not behave correctly for certain Java multithreading implementations. The main difficulty with the JMM is that it is informally described in an abstract rule-based declarative style, which is unsuitable for formal verification. We develop an equivalent formal executable specification of the JMM. Our specification is operational and uses guarded commands. We then use this executable model to verify popular software construction idioms for multithreaded Java. Our prototype verifier tool detects a bug in the widely used "Double Checked Locking" idiom, which verifiers based on interleaving execution model cannot possibly detect.
  • Keywords
    Java; formal specification; multi-threading; program verification; Java Memory Model; formal executable specification; guarded commands; multithreaded Java semantics; multithreading; operations reordering; program verification; software construction idioms; Computer languages; Computer science; Formal verification; Hardware; Interleaved codes; Java; Multithreading; Permission; Software design; Yarn;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering, 2002. ICSE 2002. Proceedings of the 24rd International Conference on
  • Conference_Location
    Orlando, FL, USA
  • Print_ISBN
    1-58113-472-X
  • Type

    conf

  • Filename
    1007993