Publication Details

An Integrated Specification and Verification Technique for Highly Concurrent Data Structures

ABDULLA Parosh A., HAZIZA Frédéric, HOLÍK Lukáš, JONSSON Bengt and REZINE Ahmed. An Integrated Specification and Verification Technique for Highly Concurrent Data Structures. In: 19th International Conference, TACAS 2013. Lecture Notes in Computer Science, vol. 7795. Berlin Heidelberg: Springer Verlag, 2013, pp. 324-338. ISBN 978-3-642-36742-7. ISSN 0302-9743.
Czech title
Integrovaná specifikační a verifikační technika pro vysoce paralelní datové struktury
Type
conference paper
Language
english
Authors
Abdulla Parosh A. (Uppsala)
Haziza Frédéric (Uppsala)
Holík Lukáš, doc. Mgr., Ph.D. (DITS FIT BUT)
Jonsson Bengt (Uppsala)
Rezine Ahmed, Assoc. Prof. (LIU)
URL
Keywords

verification, specification, concurrency, parallelism, lock-free data structures, automata, data independence, thread modular, precision

Abstract

We present a technique for automatically verifying safety properties of concurrent programs, in particular programs which 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
2013
Pages
324-338
Journal
Lecture Notes in Computer Science, vol. 7795, ISSN 0302-9743
Proceedings
19th International Conference, TACAS 2013
Series
Lecture Notes in Computer Science
Conference
European Joint Conferences on Theory and Practice of Software -- ETAPS'13 (TACAS'13), Řím, IT
ISBN
978-3-642-36742-7
Publisher
Springer Verlag
Place
Berlin Heidelberg, DE
BibTeX
@INPROCEEDINGS{FITPUB10230,
   author = "A. Parosh Abdulla and Fr\'{e}d\'{e}ric Haziza and Luk\'{a}\v{s} Hol\'{i}k and Bengt Jonsson and Ahmed Rezine",
   title = "An Integrated Specification and Verification Technique for Highly Concurrent Data Structures",
   pages = "324--338",
   booktitle = "19th International Conference, TACAS 2013",
   series = "Lecture Notes in Computer Science",
   journal = "Lecture Notes in Computer Science",
   volume = 7795,
   number = 0000,
   year = 2013,
   location = "Berlin Heidelberg, DE",
   publisher = "Springer Verlag",
   ISBN = "978-3-642-36742-7",
   ISSN = "0302-9743",
   language = "english",
   url = "https://www.fit.vut.cz/research/publication/10230"
}
Back to top