๐ค AI Summary
Existing formal verification approaches for weak memory models are largely confined to safety properties and lack support for liveness properties such as starvation freedom. This work presents the first proof calculus tailored for verifying liveness under weak memory semantics, extending the weak fairness reasoning of Manna-Pnueli temporal logic to accommodate weak memory models. The approach introduces memory fairness constraints and rank functions defined over weak-memory states. Using this framework, we successfully verify that the Ticket lock guarantees starvation freedom for any number of concurrent threads under both the Release-Acquire and StrongCoherence memory models, thereby addressing a critical theoretical gap in liveness verification for weak memory systems.
๐ Abstract
Reasoning about concurrent programs executed on weak memory models is an inherently complex task. So far, existing proof calculi for weak memory models only cover safety properties. In this paper, we provide the first proof calculus for reasoning about liveness. Our proof calculus is based on Manna and Pnueli's proof rules for response under weak fairness, formulated in linear temporal logic. Our extension includes the incorporation of memory fairness into rules as well as the usage of ranking functions defined over weak memory state. We have applied our reasoning technique to the Ticket lock algorithm and have proved it to guarantee starvation freedom under memory models Release-Acquire and StrongCoherence for any number of concurrent threads.