Verifying linearizability via optimized refinement checking

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 are serializable, and (2) the serialized executions are correct with re...

Full description

Saved in:
Bibliographic Details
Main Authors: Dong, Jin Song, Liu, Yanhong A., Zhang, Shao Jie, Sun, Jun, Liu, Yang, Chen, Wei
Other Authors: School of Computer Engineering
Format: Article
Language:English
Published: 2013
Subjects:
Online Access:https://hdl.handle.net/10356/103347
http://hdl.handle.net/10220/16936
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
id sg-ntu-dr.10356-103347
record_format dspace
spelling sg-ntu-dr.10356-1033472020-05-28T07:41:40Z Verifying linearizability via optimized refinement checking Dong, Jin Song Liu, Yanhong A. Zhang, Shao Jie Sun, Jun Liu, Yang Chen, Wei School of Computer Engineering DRNTU::Engineering::Computer science and engineering::Software 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 are serializable, and (2) the serialized executions are correct with respect to the sequential semantics. In this work, we describe a method to automatically check linearizability based on refinement relations from abstract specifications to concrete implementations. The method does not require that linearization points in the implementations be given, which is often difficult or impossible. However, the method takes advantage of linearization points if they are given. The method is based on refinement checking of finite-state systems specified as concurrent processes with shared variables. To tackle state space explosion, we develop and apply symmetry reduction, dynamic partial order reduction, and a combination of both for refinement checking. We have built the method into the PAT model checker, and used PAT to automatically check a variety of implementations of concurrent objects, including the first algorithm for scalable nonzero indicators. Our system is able to find all known and injected bugs in these implementations. 2013-10-25T08:40:43Z 2019-12-06T21:10:35Z 2013-10-25T08:40:43Z 2019-12-06T21:10:35Z 2013 2013 Journal Article Liu, Y., Chen, W., Liu, Y. A., Sun, J., Zhang, S. J., & Dong, J. S. (2013).Verifying linearizability via optimized refinement checking. IEEE transactions on software engineering, 39(7), 1018-1039. 0098-5589 https://hdl.handle.net/10356/103347 http://hdl.handle.net/10220/16936 10.1109/TSE.2012.82 en IEEE transactions on software engineering
institution Nanyang Technological University
building NTU Library
country Singapore
collection DR-NTU
language English
topic DRNTU::Engineering::Computer science and engineering::Software
spellingShingle DRNTU::Engineering::Computer science and engineering::Software
Dong, Jin Song
Liu, Yanhong A.
Zhang, Shao Jie
Sun, Jun
Liu, Yang
Chen, Wei
Verifying linearizability via optimized refinement checking
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 are serializable, and (2) the serialized executions are correct with respect to the sequential semantics. In this work, we describe a method to automatically check linearizability based on refinement relations from abstract specifications to concrete implementations. The method does not require that linearization points in the implementations be given, which is often difficult or impossible. However, the method takes advantage of linearization points if they are given. The method is based on refinement checking of finite-state systems specified as concurrent processes with shared variables. To tackle state space explosion, we develop and apply symmetry reduction, dynamic partial order reduction, and a combination of both for refinement checking. We have built the method into the PAT model checker, and used PAT to automatically check a variety of implementations of concurrent objects, including the first algorithm for scalable nonzero indicators. Our system is able to find all known and injected bugs in these implementations.
author2 School of Computer Engineering
author_facet School of Computer Engineering
Dong, Jin Song
Liu, Yanhong A.
Zhang, Shao Jie
Sun, Jun
Liu, Yang
Chen, Wei
format Article
author Dong, Jin Song
Liu, Yanhong A.
Zhang, Shao Jie
Sun, Jun
Liu, Yang
Chen, Wei
author_sort Dong, Jin Song
title Verifying linearizability via optimized refinement checking
title_short Verifying linearizability via optimized refinement checking
title_full Verifying linearizability via optimized refinement checking
title_fullStr Verifying linearizability via optimized refinement checking
title_full_unstemmed Verifying linearizability via optimized refinement checking
title_sort verifying linearizability via optimized refinement checking
publishDate 2013
url https://hdl.handle.net/10356/103347
http://hdl.handle.net/10220/16936
_version_ 1681056747110793216