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...
Saved in:
Main Authors: | , , , |
---|---|
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 |