Friggens, DavidGroves, Lindsay2014-03-242014-03-242014Friggens, D. & Groves, L. (2014). Shape predicates allow unbounded verification of linearizability using canonical abstraction. In B. H. Thomas & D. Parry (Eds.), Proceedings of the Thirty-Seventh Australasian Computer Science Conference (ACSC 2014), CRPIT. 147. Auckland, New Zealand (pp. 49-56).https://hdl.handle.net/10289/8572Canonical abstraction is a static analysis technique that represents states as 3-valued logical structures, and is able to construct finite representations of systems with infinite statespaces for verification. The granularity of the abstraction can be altered by the definition of instrumentation predicates, which derive their meaning from other predicates. We introduce shape predicates for preserving certain structures of the state during abstraction. We show that shape predicates allow linearizability to be verified for concurrent data structures using canonical abstraction alone, and use the approach to verify a stack and two queue algorithms. This contrasts with previous efforts to verify linearizability with canonical abstraction, which have had to employ other techniques as well.application/pdfenCopyright © 2014, the authors. Reproduction for academic, not-for-profit purposes permitted provided this text is included.canonical abstractionconcurrent data structureslinearizabilityverificationcomputer scienceformal methodsShape predicates allow unbounded verification of linearizability using canonical abstractionConference Contribution