Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
An Integrated Specification and Verification Technique for Highly Concurrent Data Structures
Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computer Systems. (Algorithmic Program Verification)
Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computer Systems. (Algorithmic Program Verification)
Brno University. (Automated Analysis and Verification Research Group - VeriFIT)
Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computer Systems.
Show others and affiliations
2013 (English)In: Tools and Algorithms for the Construction and Analysis of Systems, 2013Conference paper, Published paper (Refereed)
Abstract [en]

We present a technique for automatically verifying safety properties of concurrent programs, in particular programs which rely on subtle dependen- cies 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 num- ber 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 au- tomata. We show how such automata can be used to specify queues, stacks, and other data structures, by extending a data-independence argument. For verifica- tion, we develop a shape analysis, which tracks correlations between pairs of threads, and a novel abstraction to make the analysis practical. We have imple- mented our method and used it to verify programs, some of which have not been verified by any other automatic method before.

Place, publisher, year, edition, pages
2013.
Keyword [en]
verification, pointer program, queue, stack, unbounded concurrency, specification, linearizability
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:uu:diva-191330OAI: oai:DiVA.org:uu-191330DiVA, id: diva2:585343
Conference
19th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS), 16-24 March, 2013, Rome, ITALY
Projects
UPMARC
Available from: 2013-01-16 Created: 2013-01-10 Last updated: 2018-01-11Bibliographically approved
In thesis
1. Few is Just Enough!: Small Model Theorem for Parameterized Verification and Shape Analysis
Open this publication in new window or tab >>Few is Just Enough!: Small Model Theorem for Parameterized Verification and Shape Analysis
2015 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

This doctoral thesis considers the automatic verification of parameterized systems, i.e. systems with an arbitrary number of communicating components, such as mutual exclusion protocols, cache coherence protocols or heap manipulating programs. The components may be organized in various topologies such as words, multisets, rings, or trees.

The task is to show correctness regardless of the size of the system and we consider two methods to prove safety:(i) a backward reachability analysis, using the well-quasi ordered framework and monotonic abstraction, and (ii) a forward analysis which only needs to inspect a small number of components in order to show correctness of the whole system. The latter relies on an abstraction function that views the system from the perspective of a fixed number of components. The abstraction is used during the verification procedure in order to dynamically detect cut-off points beyond which the search of the state-space need not continue.

Our experimentation on a variety of benchmarks demonstrate that the method is highly efficient and that it works well even for classes of systems with undecidable property. It has been, for example, successfully applied to verify a fine-grained model of Szymanski's mutual exclusion protocol. Finally, we applied the methods to solve the complex problem of verifying highly concurrent data-structures, in a challenging setting: We do not a priori bound the number of threads, the size of the data-structure, the domain of the data to store nor do we require the presence of a garbage collector. We successfully verified the concurrent Treiber's stack and Michael & Scott's queue, in the aforementioned setting.

To the best of our knowledge, these verification problems have been considered challenging in the parameterized verification community and could not be carried out automatically by other existing methods.

Place, publisher, year, edition, pages
Uppsala: Acta Universitatis Upsaliensis, 2015. p. 123
Series
Digital Comprehensive Summaries of Uppsala Dissertations from the Faculty of Science and Technology, ISSN 1651-6214 ; 1302
Keyword
program verification, model checking, parameterized systems, infinite-state systems, reachability, approximation, safety, tree systems, shape analysis, small model properties, view abstraction, monotonic abstraction
National Category
Computer Systems
Research subject
Computer Science
Identifiers
urn:nbn:se:uu:diva-264171 (URN)978-91-554-9366-0 (ISBN)
Public defence
2015-11-18, ITC 2446, Lägerhyddsvägen 2, Uppsala, 13:00 (English)
Opponent
Supervisors
Available from: 2015-10-28 Created: 2015-10-06 Last updated: 2015-12-17

Open Access in DiVA

tacas2013(353 kB)432 downloads
File information
File name FULLTEXT01.pdfFile size 353 kBChecksum SHA-512
fc32f5e415624c6ddbf1f52c200a4ca42c4b8cc7ad80d37ff9735142b6f852c3fda7075ee726bd2e99da785f1b98e4fb505bde814e73ef240e5ab83baa599bee
Type fulltextMimetype application/pdf

Search in DiVA

By author/editor
Abdulla, Parosh AzizHaziza, FrédéricJonsson, Bengt
By organisation
Computer Systems
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 432 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 760 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf