Title :
Round-Up: Runtime Verification of Quasi Linearizability for Concurrent Data Structures
Author :
Lu Zhang ; Chattopadhyay, Arijit ; Chao Wang
Author_Institution :
Bradley Dept. of Electr. & Comput. Eng., Virginia Polytech. Inst. & State Univ., Blacksburg, VA, USA
Abstract :
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 implementation 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.
Keywords :
C++ language; data structures; program compilers; software tools; C/C++ code; Inspect; LLVM compiler; concurrent data structures; concurrent executions; correctness condition; fully automated method; low-level code; nondeterminism; quasi linearizability violations; relaxed consistency property; runtime checking; runtime verification method; software tool; source code; systematic concurrency testing tool; Concurrent computing; Data structures; History; Legal aspects; Runtime; Runtime verification; atomicity; linearizability; partial order reduction; relaxed consistency; serializability; systematic concurrency testing;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.2015.2467371