Ghost Signals: Verifying Termination of Busy Waiting - Verifying Termination of Busy Waiting
Tobias Reinhard, Bart Jacobs
摘要
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)
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper1
问问它们各自怎么用它相关 Paper
- A concurrent program logic with a future and historyRoland Meyer, Thomas Wies, Sebastian WolffOOPSLA 2022 · 被引用 9 次
- Beyond Backtracking: Connections in Fine-Grained Concurrent Separation LogicIke Mulder, Lukasz Czajka, Robbert KrebbersPLDI 2023 · 被引用 2 次
- Simuliris: a separation logic framework for verifying concurrent program optimizationsLennard Gäher, Michael Sammler, Simon Spies, Ralf Jung 等POPL 2022 · 被引用 33 次
- PulseCore: An Impredicative Concurrent Separation Logic for Dependently Typed ProgramsGabriel Ebner, Guido Martínez, Aseem Rastogi, Thibault Dardinier 等PLDI 2025 · 被引用 8 次
- Nola: Later-Free Ghost State for Verifying Termination in IrisYusuke Matsushita, Takeshi TsukadaPLDI 2025 · 被引用 2 次
