Modular Termination Verification for Non-blocking Concurrency (Extended Version)
File(s)tau-tada.pdf (631.71 KB)
Submitted version
Author(s)
da Rocha Pinto, P
Dinsdale-Young, T
Gardner, P
Sutherland, J
Type
Report
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.
Date Issued
2016-03-16
Citation
Modular Termination Verification for Non-blocking Concurrency, 2016, pp.1-63
Publisher
Department of Computing, Imperial College London
Start Page
1
End Page
63
Journal / Book Title
Modular Termination Verification for Non-blocking Concurrency
Copyright Statement
© The Authors
Sponsor
Engineering & Physical Science Research Council (E
Engineering & Physical Science Research Council (E
Grant Number
EP/H008373/1
EP/K008528/1
Publication Status
Published
Article Number
2016/6