TaDA Live: compositional reasoning for termination of fine-grained concurrent programs
File(s)3477082.pdf (5.7 MB)
Published version
Author(s)
D'Osualdo, Emanuele
Sutherland, Julian
Farzan, Azadeh
Gardner, Philippa
Type
Journal Article
Abstract
We present TaDA Live, a concurrent separation logic for reasoning compositionally about the termination of blocking fine-grained concurrent programs. The crucial challenge is how to deal with abstract atomic blocking: that is, abstract atomic operations that have blocking behaviour arising from busy-waiting patterns as found in, for example, fine-grained spin locks. Our fundamental innovation is with the design of abstract specifications that capture this blocking behaviour as liveness assumptions on the environment. We design a logic that can reason about the termination of clients which use such operations without breaking their abstraction boundaries, and the correctness of the implementations of the operations with respect to their abstract specifications. We introduce a novel semantic model using layered subjective obligations to express liveness invariants, and a proof system that is sound with respect to the model. The subtlety of our specifications and reasoning is illustrated using several case studies.
Date Issued
2021-12-01
Date Acceptance
2021-06-01
Citation
ACM Transactions on Programming Languages and Systems, 2021, 43
ISSN
0164-0925
Publisher
Association for Computing Machinery (ACM)
Journal / Book Title
ACM Transactions on Programming Languages and Systems
Volume
43
Copyright Statement
© 2021 Copyright held by the owner/author(s). This work is licensed under a Creative Commons Attribution International 4.0 License (https://creativecommons.org/licenses/by/4.0/)
License URL
Sponsor
Engineering & Physical Science Research Council (E
Engineering & Physical Science Research Council (E
Commission of the European Communities
Engineering & Physical Science Research Council (E
Grant Number
EP/K008528/1 - RG65358
EP/K008528/1
795218
EP/R034567/1
Subjects
Software Engineering
0803 Computer Software
0806 Information Systems
Publication Status
Published
Article Number
ARTN 16
Date Publish Online
2021-11-10