Ghost Signals: Verifying Termination of Busy Waiting - Verifying Termination of Busy Waiting
Tobias Reinhard, Bart Jacobs
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.
new signal θ aug h ⊔ θ.obs(O ⊎ [(id, L)] ), signal((id, L)), id Aug-Red-SetSignal h ⊔ θ.obs(O ⊎ [s] ), set signal(s.id) θ aug h ⊔ θ.obs(O), signalSet(s), tt Aug-Red-Fork θ f ∈ thIds( h) h ⊔ θ.obs(O ⊎ O f ), fork c θ aug h ⊔ θ.obs(O), θ f .obs(O f ), tt, (θ f , c)
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 0c53703b-8f94-4135-badd-dbb4a94ab921Cited by top-tier papers1
Ask how each one uses itRelated papers
- A concurrent program logic with a future and historyRoland Meyer, Thomas Wies, Sebastian WolffOOPSLA 2022 · 9 citations
- Beyond Backtracking: Connections in Fine-Grained Concurrent Separation LogicIke Mulder, Lukasz Czajka, Robbert KrebbersPLDI 2023 · 2 citations
- Simuliris: a separation logic framework for verifying concurrent program optimizationsLennard Gäher, Michael Sammler, Simon Spies, Ralf Jung et al.POPL 2022 · 33 citations
- PulseCore: An Impredicative Concurrent Separation Logic for Dependently Typed ProgramsGabriel Ebner, Guido Martínez, Aseem Rastogi, Thibault Dardinier et al.PLDI 2025 · 8 citations
- Nola: Later-Free Ghost State for Verifying Termination in IrisYusuke Matsushita, Takeshi TsukadaPLDI 2025 · 2 citations
