DocumentCode
2916635
Title
Model Checking a Lazy Concurrent List-Based Set Algorithm
Author
Zhang, Shao Jie ; Liu, Yang
Author_Institution
NUS Grad. Sch. for Integrative Sci. & Eng., Nat. Univ. of Singapore, Singapore, Singapore
fYear
2010
fDate
9-11 June 2010
Firstpage
43
Lastpage
52
Abstract
Concurrent objects are notoriously difficult to design correctly, and high performance algorithms that make little or no use of locks even more so. In this paper, we present a formal verification of a lazy concurrent list-based set using model checking techniques. The algorithm supports insertion, removal, and membership testing of a list entry under optimistic locking scheme. The algorithm has nonfixed linearization points and is highly non-trivial. We have proved that the algorithm satisfies linearizability, by showing a trace refinement relation from the concrete implementation to its abstract specification. These models are specified in CSP# and verified automatically using our home grown model checker PAT.
Keywords
communicating sequential processes; concurrency control; list processing; program diagnostics; program verification; CSP#; abstract specification; formal verification; home grown model checker PAT; lazy concurrent list based set algorithms; nonfixed linearization points; optimistic locking scheme; trace refinement relation; Algorithm design and analysis; Concrete; Concurrent computing; Design engineering; Formal verification; High performance computing; Reliability engineering; Software algorithms; Software performance; Testing; Concurrent List-Based Set Algorithm; Linearizability; PAT; Refinement Checking;
fLanguage
English
Publisher
ieee
Conference_Titel
Secure Software Integration and Reliability Improvement (SSIRI), 2010 Fourth International Conference on
Conference_Location
Singapore
Print_ISBN
978-1-4244-7435-6
Type
conf
DOI
10.1109/SSIRI.2010.37
Filename
5502856
Link To Document