Verifying Concurrent Stacks by Divergence-Sensitive Bisimulation
Fuente:
arXiv
Saved in:
| Main Authors: | , , |
|---|---|
| Format: | Preprint |
| Published: |
2017
|
| Subjects: | |
| Online Access: | |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| _version_ | 1866914626554298368 |
|---|---|
| author | Yang, Xiaoxiao Katoen, Joost-Pieter Wu, Hao |
| author_facet | Yang, Xiaoxiao Katoen, Joost-Pieter Wu, Hao |
| contents | The verification of linearizability -- a key correctness criterion for concurrent objects -- is based on trace refinement whose checking is PSPACE-complete. This paper suggests to use \emph{branching} bisimulation instead. Our approach is based on comparing an abstract specification in which object methods are executed atomically to a real object program. Exploiting divergence sensitivity, this also applies to progress properties such as lock-freedom. These results enable the use of \emph{polynomial-time} divergence-sensitive branching bisimulation checking techniques for verifying linearizability and progress. We conducted the experiment on concurrent lock-free stacks to validate the efficiency and effectiveness of our methods. |
| format | Preprint |
| id |
arxiv_https___arxiv_org_abs_1701_06104 |
| institution | arXiv |
| publishDate | 2017 |
| record_format | arxiv |
| spellingShingle | Verifying Concurrent Stacks by Divergence-Sensitive Bisimulation Yang, Xiaoxiao Katoen, Joost-Pieter Wu, Hao Programming Languages The verification of linearizability -- a key correctness criterion for concurrent objects -- is based on trace refinement whose checking is PSPACE-complete. This paper suggests to use \emph{branching} bisimulation instead. Our approach is based on comparing an abstract specification in which object methods are executed atomically to a real object program. Exploiting divergence sensitivity, this also applies to progress properties such as lock-freedom. These results enable the use of \emph{polynomial-time} divergence-sensitive branching bisimulation checking techniques for verifying linearizability and progress. We conducted the experiment on concurrent lock-free stacks to validate the efficiency and effectiveness of our methods. |
| title | Verifying Concurrent Stacks by Divergence-Sensitive Bisimulation |
| topic | Programming Languages |
| url | https://arxiv.org/abs/1701.06104 |