Modular Termination Verification for Non-blocking Concurrency
File(s)
Author(s)
da Rocha Pinto, P
Dinsdale-Young, T
Gardner, PA
Sutherland, J
Type
Conference Paper
Abstract
We present Total-TaDA, a program logic for verifying the total correctness of concurrent programs: that such programs both terminate and produce the correct result. With Total-TaDA, we can specify constraints on a thread’s concurrent environment that are necessary to guarantee termination. This allows us to verify total correctness for non-blocking algorithms, e.g. a counter and a stack. Our specifications can express lock- and wait-freedom. More generally, they can express that one operation cannot impede the progress of another, a new non-blocking property we call non-impedance. Moreover, our approach is modular. We can verify the operations of a module independently, and build up modules on top of each other.
Editor(s)
Thiemann, P
Date Issued
2016-03-22
Date Acceptance
2016-03-01
Citation
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2016, 9632, pp.176-201
ISBN
978-3-662-49497-4
ISSN
0302-9743
Publisher
Springer Berlin Heidelberg
Start Page
176
End Page
201
Journal / Book Title
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume
9632
Copyright Statement
© Springer-Verlag Berlin Heidelberg 2016.
Sponsor
Engineering & Physical Science Research Council (E
Engineering & Physical Science Research Council (E
Grant Number
EP/H008373/1
EP/K008528/1
Source
25th European Symposium on Programming, ESOP 2016
Subjects
Artificial Intelligence & Image Processing
08 Information And Computing Sciences
Publication Status
Published
Start Date
2016-04-02
Finish Date
2016-04-08
Coverage Spatial
Eindhoven, The Netherlands