• DocumentCode
    1727456
  • Title

    Concurrent Contracts for Java in JML

  • Author

    Araujo, Wladimir ; Briand, Lionel ; Labiche, Yvan

  • Author_Institution
    Juniper Networks, Ottawa, ON
  • fYear
    2008
  • Firstpage
    37
  • Lastpage
    46
  • Abstract
    Design by contract (DbC) is a software development methodology that makes use of assertions to produce better quality object-oriented software. The idea behind DbC is that a method defines a contract stating the requirements a client needs to fulfill to use it, the precondition, and the properties it ensures after its execution, the postcondition. Though there exists ample support for DbC for sequential programs, applying DbC to concurrent programs presents several challenges. The first challenge is interference, the product of multiple threads of execution modifying and accessing shared data. The second is the specification of thread-safety properties in the presence of inheritance.We present a solution to these challenges in the context of Java programs by extending the Java modeling language (JML) specification language. We experiment our solution on a large size industrial software system.
  • Keywords
    Java; concurrency control; object-oriented programming; simulation languages; software engineering; specification languages; Java modeling language; Java programs; concurrent contracts; concurrent programs; design by contract; industrial software system; object-oriented software; software development; specification language; Computer industry; Context modeling; Contracts; Interference; Java; Object oriented modeling; Programming; Software quality; Specification languages; Yarn; Concurrency; JML; Java; design by contract;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Reliability Engineering, 2008. ISSRE 2008. 19th International Symposium on
  • Conference_Location
    Seattle, WA
  • ISSN
    1071-9458
  • Print_ISBN
    978-0-7695-3405-3
  • Electronic_ISBN
    1071-9458
  • Type

    conf

  • DOI
    10.1109/ISSRE.2008.9
  • Filename
    4700308