Ghost signals: verifying termination of busy waiting

From MaRDI portal
Publication:832247

DOI10.1007/978-3-030-81688-9_2zbMATH Open1493.68097arXiv2010.11762OpenAlexW3185019351MaRDI QIDQ832247FDOQ832247


Authors: Tobias Reinhard, Bart Jacobs Edit this on Wikidata


Publication date: 25 March 2022

Abstract: Programs for multiprocessor machines commonly perform busy waiting for synchronization. We propose the first separation logic for modularly verifying termination of such programs under fair scheduling. Our logic requires the proof author to associate a ghost signal with each busy-waiting loop and allows such loops to iterate while their corresponding signal s is not set. The proof author further has to define a well-founded order on signals and to prove that if the looping thread holds an obligation to set a signal sprime, then sprime is ordered above s. By using conventional shared state invariants to associate the state of ghost signals with the state of data structures, programs busy-waiting for arbitrary conditions over arbitrary data structures can be verified.


Full work available at URL: https://arxiv.org/abs/2010.11762




Recommendations



Cites Work


Cited In (1)

Uses Software





This page was built for publication: Ghost signals: verifying termination of busy waiting

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q832247)