In this thesis, we formally verify a simplified version of the non-blocking linearizable binary search tree of Ellen et al., which appeared in the Proceedings of the 29th Annual ACM Symposium on Principles of Distributed Computing (pages 131-140), using the PVS specification and verification system. The algorithm and its specification are both modelled as I/O automata. In order to formally verify that the algorithm implements the specification, we show that the algorithm's I/O automaton simulates the specification's. An intermediate I/O automaton is constructed to simplify the simulation proof of linearizability. By showing there is a forward simulation from the algorithm's I/O automaton to the intermediate automaton and there is a backward...
Linearizability is an important correctness criterion for implementations of concurrent objects. Aut...
This paper extends the piggyback algorithm to enlarge the set of liveness properties it can verify. ...
Concurrent data structure algorithms have traditionally been designed using locks to regulate the be...
Efficient implementations of data structures such as queues, stacks or hash-tables allow for concurr...
AbstractWe describe an approach to verifying concurrent data structures based on simulation between ...
We show that correctness criteria of concurrent algorithms are mathematically equivalent to the exis...
Abstract. Linearisability is the standard correctness criterion for concurrent data structures. In t...
Automata are a popular tool to make computer systems accessible to formal methods. While classical f...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Linearizability of concurrent data structures is usually proved by monolithic simulation arguments r...
This paper presents a methodology for building a class of highly concurrent linked objects that are ...
Proving the linearizability of highly concurrent data structures, such as those using optimistic con...
Concurrent data structure algorithms have traditionally been designed using locks to regulate the be...
Linearizability is an important correctness criterion for implementations of concurrent objects. Aut...
This paper extends the piggyback algorithm to enlarge the set of liveness properties it can verify. ...
Concurrent data structure algorithms have traditionally been designed using locks to regulate the be...
Efficient implementations of data structures such as queues, stacks or hash-tables allow for concurr...
AbstractWe describe an approach to verifying concurrent data structures based on simulation between ...
We show that correctness criteria of concurrent algorithms are mathematically equivalent to the exis...
Abstract. Linearisability is the standard correctness criterion for concurrent data structures. In t...
Automata are a popular tool to make computer systems accessible to formal methods. While classical f...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Linearizability of concurrent data structures is usually proved by monolithic simulation arguments r...
This paper presents a methodology for building a class of highly concurrent linked objects that are ...
Proving the linearizability of highly concurrent data structures, such as those using optimistic con...
Concurrent data structure algorithms have traditionally been designed using locks to regulate the be...
Linearizability is an important correctness criterion for implementations of concurrent objects. Aut...
This paper extends the piggyback algorithm to enlarge the set of liveness properties it can verify. ...
Concurrent data structure algorithms have traditionally been designed using locks to regulate the be...