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