Round-Up: Runtime Verification of Quasi Linearizability for Concurrent Data Structures

Lu Zhang, Arijit Chattopadhyay, Chao Wang
2015 IEEE Transactions on Software Engineering  
We propose a new method for runtime checking of a relaxed consistency property called quasi linearizability for concurrent data structures. Quasi linearizability generalizes the standard notion of linearizability by introducing nondeterminism into the parallel computations quantitatively and then exploiting such nondeterminism to improve the runtime performance. However, ensuring the quantitative aspects of this correctness condition in the low-level code of the concurrent data structure
more » ... ntation is a difficult task. Our runtime verification method is the first fully automated method for checking quasi linearizability in the C/C++ code of concurrent data structures. It guarantees that all the reported quasi linearizability violations manifested by the concurrent executions are real violations. We have implemented our method in a software tool based on the LLVM compiler and a systematic concurrency testing tool called Inspect. Our experimental evaluation shows that the new method is effective in detecting quasi linearizability violations in the source code implementations of concurrent data structures.
doi:10.1109/tse.2015.2467371 fatcat:hgu4i5pdlfculeehmfiuil6cs4