• DocumentCode
    1663479
  • Title

    Formal specification of Java concurrency to assist software verification

  • Author

    Long, Brad ; Long, Benjamin W.

  • Author_Institution
    Software Verification Res. Centre, Queensland Univ., Brisbane, Qld., Australia
  • fYear
    2003
  • Abstract
    The Java programming language is a modem object-oriented language that supports concurrency. Ensuring concurrent programs are correct is difficult. Additional problems encountered in concurrent programs, compared with sequential programs, include deadlock, livelock, starvation, and dormancy. Often these problems are related and are sometimes side effects of one another Furthermore, different programming languages attach different meanings to these terms. Sun Microsystems provides a textual description of the Java concurrency model which is inadequate for reasoning with such programs. Formal specifications are required for verifying concurrent programs through the use of tools and methods such as static analysis, dynamic analysis, model-checking, and theorem proving. It is clear that the behaviour of the Java concurrency model must be unambiguous and well-understood for these tools to operate effectively. This paper presents a formal specification of the Java concurrency model using the Z specification language. A number of important correctness properties of concurrent programs are constructed from the model, and their application to the implementation of verification and testing tools for concurrent Java programs is discussed.
  • Keywords
    Java; concurrency control; formal specification; program diagnostics; program testing; reasoning about programs; specification languages; theorem proving; Java concurrency; Sun Microsystems; Z specification language; deadlock; dormancy; dynamic analysis; formal specification; livelock; model-checking; object-oriented language; program correctness; reasoning; software verification; starvation; static analysis; testing tools; textual description; theorem proving; Computer languages; Concurrent computing; Formal specifications; Java; Modems; Object oriented modeling; Specification languages; Sun; System recovery; Testing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Processing Symposium, 2003. Proceedings. International
  • ISSN
    1530-2075
  • Print_ISBN
    0-7695-1926-1
  • Type

    conf

  • DOI
    10.1109/IPDPS.2003.1213262
  • Filename
    1213262