Automatically Verifying Concurrent Queue Algorithms
Eran Yahav,Mooly Sagiv +1 more
TL;DR: This paper shows how to automatically verify partial correctness of concurrent FIFO queue algorithms using existing abstract interpretation techniques, and verifies all the safety properties originally specified for two concurrent queue algorithms without imposing an a priori bound on the number of allocated objects and threads.
read more
About: This article is published in Electronic Notes in Theoretical Computer Science. The article was published on 01 Sep 2003. and is currently open access. The article focuses on the topics: Queue & Concurrency.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
CheckFence: checking consistency of concurrent data types on relaxed memory models
Sebastian Burckhardt,Rajeev Alur,Milo M. K. Martin +2 more
- 10 Jun 2007
TL;DR: The CheckFence prototype automatically translates the C implementation code and the test program into a SAT formula, hands the latter to a standard SAT solver, and constructs counter example traces if there exist incorrect executions.
Towards a framework and a benchmark for testing tools for multi‐threaded programs
TL;DR: A road map for combining the research within the different disciplines of testing multi‐threaded programs and for evaluating the quality of this research is outlined, to create a benchmark that can be used to evaluate different solutions.
An integrated specification and verification technique for highly concurrent data structures
Parosh Aziz Abdulla,Frédéric Haziza,Lukáš Holík,Bengt Jonsson,Ahmed Rezine +4 more
- 16 Mar 2013
TL;DR: 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 is presented.
Verifying Concurrent Data Structures by Simulation
TL;DR: An approach to verifying concurrent data structures based on simulation between two Input/Output Automata (IOAs) is described, modelling the specification and the implementation and using this approach in mechanically verifying a simple lock-free stack implementation using forward simulation.
57
Logical characterizations of heap abstractions
TL;DR: In this paper, the problem of determining shape invariants for programs that perform destructive updating on dynamically allocated storage is addressed using three-valued first-order logic with transitive closure.
References
Systematic design of program analysis frameworks
Patrick Cousot,Radhia Cousot +1 more
- 01 Jan 1979
TL;DR: The systematic and correct design of program analysis frameworks with respect to a formal semantics is devoted to the main elements of the lattice theoretic approach to approximate semantic analysis of programs.
1.8K
Simple, fast, and practical non-blocking and blocking concurrent queue algorithms
Maged M. Michael,Michael L. Scott +1 more
- 01 May 1996
TL;DR: Experiments on a 12-node SGI Challenge multiprocessor indicate that the new non-blocking queue consistently outperforms the best known alternatives; it is the clear algorithm of choice for machines that provide a universal atomic primitive (e.g., compare_and_swap or load_linked/store_conditional).
Typestate: A programming language concept for enhancing software reliability
Rob Strom,S. Yemini +1 more
TL;DR: The authors introduce a new programming language concept, called typestate, which is a refinement of the concept of type, which determines the subset of operations which is permitted in a particular context.
633
Proceedings of the International Conference on Parallel Processing
R. Sarnath,Xin He +1 more
- 01 Jan 1992
583
•Proceedings Article
An Overview of SAL
Saddek Bensalem,Vijay Ganesh,Yassine Lakhnech,César A. Muñoz,Sam Owre,Harald Ruess,John Rushby,Vlad Rusu,Hassen Saiedi,Natarajan Shankar +9 more
- 01 Jun 2000
TL;DR: This work instantiation of the SAL framework augments PVS with tools for abstraction, invariant generation, program analysis, theorem proving, and model checking to separate concerns as well as calculate properties of concurrent systems.