Download PDF Download PDF

International Conference on Computer-Aided Verification, Date: 2021/07/20 - 2021/07/23, Location: virtual

Publication date: 2021-07-15
Volume: 12760 Pages: 27 - 50
ISSN: 978-3-030-81687-2
Publisher: Springer Verlag

Lecture Notes in Computer Science

Author:

Reinhard, Tobias
Jacobs, Bart

Keywords:

Science & Technology, Technology, Computer Science, Hardware & Architecture, Computer Science, Software Engineering, Computer Science, Theory & Methods, Computer Science

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 s′, then s′ 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.