Model checking linearizability via refinement

Linearizability is an important correctness criterion for implementations of concurrent objects. Automatic checking of linearizability is challenging because it requires checking that 1) all executions of concurrent operations be serializable, and 2) the serialized executions be correct with respect...

Full description

Saved in:
Bibliographic Details
Main Authors: LIU, Yang, CHEN, Wei, LIU, Yanhong A., SUN, Jun
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2009
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/5040
https://ink.library.smu.edu.sg/context/sis_research/article/6043/viewcontent/linear.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-6043
record_format dspace
spelling sg-smu-ink.sis_research-60432020-03-12T08:17:21Z Model checking linearizability via refinement LIU, Yang CHEN, Wei LIU, Yanhong A. SUN, Jun Linearizability is an important correctness criterion for implementations of concurrent objects. Automatic checking of linearizability is challenging because it requires checking that 1) all executions of concurrent operations be serializable, and 2) the serialized executions be correct with respect to the sequential semantics. This paper describes a new method to automatically check linearizability based on refinement relations from abstract specifications to concrete implementations. Our method avoids the often difficult task of determining linearization points in implementations, but can also take advantage of linearization points if they are given. The method exploits model checking of finite state systems specified as concurrent processes with shared variables. Partial order reduction is used to effectively reduce the search space. The approach is built into a toolset that supports a rich set of concurrent operators. The tool has been used to automatically check a variety of implementations of concurrent objects, including the first algorithms for the mailbox problem and scalable NonZero indicators. Our system was able to find all known and injected bugs in these implementations. 2009-06-11T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/5040 info:doi/10.1007/978-3-642-05089-3_21 https://ink.library.smu.edu.sg/context/sis_research/article/6043/viewcontent/linear.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Model Check Shared Variable Linear Temporal Logic Label Transition System Linearization Action Programming Languages and Compilers Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Model Check
Shared Variable
Linear Temporal Logic
Label Transition System
Linearization Action
Programming Languages and Compilers
Software Engineering
spellingShingle Model Check
Shared Variable
Linear Temporal Logic
Label Transition System
Linearization Action
Programming Languages and Compilers
Software Engineering
LIU, Yang
CHEN, Wei
LIU, Yanhong A.
SUN, Jun
Model checking linearizability via refinement
description Linearizability is an important correctness criterion for implementations of concurrent objects. Automatic checking of linearizability is challenging because it requires checking that 1) all executions of concurrent operations be serializable, and 2) the serialized executions be correct with respect to the sequential semantics. This paper describes a new method to automatically check linearizability based on refinement relations from abstract specifications to concrete implementations. Our method avoids the often difficult task of determining linearization points in implementations, but can also take advantage of linearization points if they are given. The method exploits model checking of finite state systems specified as concurrent processes with shared variables. Partial order reduction is used to effectively reduce the search space. The approach is built into a toolset that supports a rich set of concurrent operators. The tool has been used to automatically check a variety of implementations of concurrent objects, including the first algorithms for the mailbox problem and scalable NonZero indicators. Our system was able to find all known and injected bugs in these implementations.
format text
author LIU, Yang
CHEN, Wei
LIU, Yanhong A.
SUN, Jun
author_facet LIU, Yang
CHEN, Wei
LIU, Yanhong A.
SUN, Jun
author_sort LIU, Yang
title Model checking linearizability via refinement
title_short Model checking linearizability via refinement
title_full Model checking linearizability via refinement
title_fullStr Model checking linearizability via refinement
title_full_unstemmed Model checking linearizability via refinement
title_sort model checking linearizability via refinement
publisher Institutional Knowledge at Singapore Management University
publishDate 2009
url https://ink.library.smu.edu.sg/sis_research/5040
https://ink.library.smu.edu.sg/context/sis_research/article/6043/viewcontent/linear.pdf
_version_ 1770575174178963456