Run-time Assertion Checking of JML Annotations in Multithreaded Applications with e-OpenJML

Jorne Kandziora, Marieke Huisman, Christoph Bockisch, M. Zaharieva

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    2 Citations (Scopus)
    223 Downloads (Pure)

    Abstract

    Run-time assertion checking of multithreaded programs is challenging, as assertion evaluation should not interfere with the execution of other threads. This paper describes the prototype implementation of a run-time assertion checker that achieves this by evaluating assertions over snapshots of the state, instead of over the live state. Our prototype e-OpenJML, an extension to OpenJML, provides an easy to use, safe and interference-free evaluation of JML specifications in multithreaded programs. To achieve this, it integrates e-STROBE, our extension to the STROBE framework for asynchronous assertion evaluation. e-STROBE prevents all possible interferences between assertion evaluation and other program threads, which the original STROBE can not. It also simplifies evaluating assertions that relate the value of expressions in multiple states.
    Original languageUndefined
    Title of host publicationProceedings of the 17th Workshop on Formal Techniques for Java-like Programs (FTfJP 2015)
    EditorsR. Monahan
    Place of PublicationNew York
    PublisherAssociation for Computing Machinery
    Pages8
    Number of pages6
    ISBN (Print)978-1-4503-3656-7
    DOIs
    Publication statusPublished - Jul 2015
    Event17th Workshop on Formal Techniques for Java-like Programs, FTfJP 2015 - Prague, Czech Republic
    Duration: 7 Jul 20157 Jul 2015
    Conference number: 17
    https://www.cs.nuim.ie/FTfJP2015

    Publication series

    Name
    PublisherACM

    Workshop

    Workshop17th Workshop on Formal Techniques for Java-like Programs, FTfJP 2015
    Abbreviated titleFTfJP
    Country/TerritoryCzech Republic
    CityPrague
    Period7/07/157/07/15
    Internet address

    Keywords

    • EWI-26138
    • METIS-312668
    • IR-96983

    Cite this