Title of article :
A general technique for proving lock-freedom
Author/Authors :
Robert Colvin، نويسنده , , Brijesh Dongol، نويسنده ,
Issue Information :
ماهنامه با شماره پیاپی سال 2009
Abstract :
Lock-freedom is a property of concurrent programs which states that, from any state of the program, eventually some process will complete its operation. Lock-freedom is a weaker property than the usual expectation that eventually all processes will complete their operations. By weakening their completion guarantees, lock-free programs increase the potential for parallelism, and hence make more efficient use of multiprocessor architectures than lock-based algorithms. However, lock-free algorithms, and reasoning about them, are considerably more complex.In this paper we present a technique for proving that a program is lock-free. The technique is designed to be as general as possible and is guided by heuristics that simplify the proofs. We demonstrate our theory by proving lock-freedom of two non-trivial examples from the literature. The proofs have been machine-checked by the PVS theorem prover, and we have developed proof strategies to minimise user interaction.
Keywords :
Verification , Temporal Logic , Lock-free programs , Concurrency
Journal title :
Science of Computer Programming
Journal title :
Science of Computer Programming