Publication Details

An integrated specification and verification technique for highly concurrent data structures for highly concurrent data structures

HOLÍK, L.; ABDULLA, P.; HAZIZA, F.; JONSSON, B.; REZINE, A. An integrated specification and verification technique for highly concurrent data structures for highly concurrent data structures. International Journal on Software Tools for Technology Transfer, 2017, vol. 5, no. 19, p. 549-563. ISSN: 1433-2779.
Czech title
Integrovaná verifikační a specifikační technika pro ověřování linearizability paralelních ukazatelových programů
Type
journal article
Language
English
Authors
Holík Lukáš, doc. Mgr., Ph.D. (DITS)
Abdulla Parosh
Haziza Frédéric
Jonsson Bengt
Rezine Ahmed, Assoc. Prof.
URL
Keywords

verification, linearisability, pointers 

Abstract

We present a technique for automatically verifying safety properties of concurrent programs, in particular programs that rely on subtle dependencies of local states of different threads, such as lock-free implementations of stacks and queues in an environment without garbage collection. Our technique addresses the joint challenges of infinite-state specifications, an unbounded number of threads, and an unbounded heap managed by explicit memory allocation. Our technique builds on the automata-theoretic approach to model checking, in which a specification is given by an automaton that observes the execution of a program and accepts executions that violate the intended specification. We extend this approach by allowing specifications to be given by a class of infinite-state automata. We show how such automata can be used to specify queues, stacks, and other data structures, by extending a data-independence argument. For verification, we develop a shape analysis, which tracks correlations between pairs of threads, and a novel abstraction to make the analysis practical. We have implemented our method and used it to verify programs, some of which have not been verified by any other automatic method before.

Published
2017
Pages
549–563
Journal
International Journal on Software Tools for Technology Transfer, vol. 5, no. 19, ISSN 1433-2779
DOI
UT WoS
000409295800004
EID Scopus
BibTeX
@article{BUT144479,
  author="Lukáš {Holík} and Parosh {Abdulla} and Frédéric {Haziza} and Bengt {Jonsson} and Ahmed {Rezine}",
  title="An integrated specification and verification technique for highly concurrent data structures for highly concurrent data structures",
  journal="International Journal on Software Tools for Technology Transfer",
  year="2017",
  volume="5",
  number="19",
  pages="549--563",
  doi="10.1007/s10009-016-0415-4",
  issn="1433-2779",
  url="https://link.springer.com/article/10.1007/s10009-016-0415-4"
}
Back to top