Run-time assertion checking of JML annotations in multithreaded applications with e-OpenJML

J. (Jorne) Kandziora, M. (Marieke) Huisman, C.M. Bockisch, M. (Marina) Zaharieva-Stojanovski

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

    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 languageEnglish
    Title of host publicationFTfJP '15
    Subtitle of host publicationProceedings of the 17th Workshop on Formal Techniques for Java-like Programs
    Place of PublicationNew York, NY
    PublisherAssociation for Computing Machinery (ACM)
    Pages1-6
    Number of pages6
    ISBN (Print)9781450336567
    DOIs
    Publication statusPublished - Jul 2015
    EventEuropean Conference on Object-Oriented Programming - Marriott Hotel, Prague, Czech Republic
    Duration: 5 Jul 201510 Jul 2015
    Conference number: 29
    https://2015.ecoop.org/

    Conference

    ConferenceEuropean Conference on Object-Oriented Programming
    Abbreviated titleECOOP 2015
    Country/TerritoryCzech Republic
    CityPrague
    Period5/07/1510/07/15
    Internet address

    Fingerprint

    Dive into the research topics of 'Run-time assertion checking of JML annotations in multithreaded applications with e-OpenJML'. Together they form a unique fingerprint.

    Cite this