Automated Verification of Concurrent Search Structures

Automated Verification of Concurrent Search Structures PDF Author: Siddharth Krishna
Publisher: Morgan & Claypool Publishers
ISBN: 163639129X
Category : Computers
Languages : en
Pages : 190

Get Book Here

Book Description
Search structures support the fundamental data storage primitives on key-value pairs: insert a pair, delete by key, search by key, and update the value associated with a key. Concurrent search structures are parallel algorithms to speed access to search structures on multicore and distributed servers. These sophisticated algorithms perform fine-grained synchronization between threads, making them notoriously difficult to design correctly. Indeed, bugs have been found both in actual implementations and in the designs proposed by experts in peer-reviewed publications. The rapid development and deployment of these concurrent algorithms has resulted in a rift between the algorithms that can be verified by the state-of-the-art techniques and those being developed and used today. The goal of this book is to show how to bridge this gap in order to bring the certified safety of formal verification to high-performance concurrent search structures. Similar techniques and frameworks can be applied to concurrent graph and network algorithms beyond search structures.

Automated Verification of Concurrent Search Structures

Automated Verification of Concurrent Search Structures PDF Author: Krishna Siddharth
Publisher: Springer Nature
ISBN: 3031018060
Category : Mathematics
Languages : en
Pages : 182

Get Book Here

Book Description
Search structures support the fundamental data storage primitives on key-value pairs: insert a pair, delete by key, search by key, and update the value associated with a key. Concurrent search structures are parallel algorithms to speed access to search structures on multicore and distributed servers. These sophisticated algorithms perform fine-grained synchronization between threads, making them notoriously difficult to design correctly. Indeed, bugs have been found both in actual implementations and in the designs proposed by experts in peer-reviewed publications. The rapid development and deployment of these concurrent algorithms has resulted in a rift between the algorithms that can be verified by the state-of-the-art techniques and those being developed and used today. The goal of this book is to show how to bridge this gap in order to bring the certified safety of formal verification to high-performance concurrent search structures. Similar techniques and frameworks can be applied to concurrent graph and network algorithms beyond search structures.

Semantic Preorders in the Automated Verification of Concurrent Systems

Semantic Preorders in the Automated Verification of Concurrent Systems PDF Author: Ufuk Çelikkan
Publisher:
ISBN:
Category :
Languages : en
Pages : 244

Get Book Here

Book Description


Partial-Order Methods for the Verification of Concurrent Systems

Partial-Order Methods for the Verification of Concurrent Systems PDF Author: Patrice Godefroid
Publisher: Lecture Notes in Computer Science
ISBN:
Category : Computers
Languages : en
Pages : 160

Get Book Here

Book Description
This monograph is a revised version of the author's Ph.D. thesis, submitted to the University of Liège, Belgium, with Pierre Wolper as thesis advisor. The general pattern of this work, is to turn logical and semantic ideas into exploitable algorithms. Thus, it perfectly fits the modern trend, viewing verification as a computer-aided activity, and as algorithmic as possible, not as a paper and pencil one, dealing exclusively with semantic and logical issues. Patrice Godefroid uses state-space exploration as the key technique, which, as such or elaborated into model checking, is attracting growing attention for the verification of concurrent systems. For most realistic examples, the methods presented provide a significant reduction of memory and time requirements for protocol verification.

Concurrent Algorithms for Search Structures

Concurrent Algorithms for Search Structures PDF Author: Dennis Elliott Shasha
Publisher:
ISBN:
Category : Data structures (Computer science)
Languages : en
Pages : 140

Get Book Here

Book Description


Specification and Automated Verification of Concurrent Software Systems

Specification and Automated Verification of Concurrent Software Systems PDF Author: Tuba Yavuz
Publisher:
ISBN:
Category :
Languages : en
Pages : 410

Get Book Here

Book Description


Decision Procedures for the Temporal Verification of Concurrent Data Structures

Decision Procedures for the Temporal Verification of Concurrent Data Structures PDF Author:
Publisher:
ISBN:
Category :
Languages : en
Pages : 96

Get Book Here

Book Description


Automated Verification of Refinements of Concurrent and Distributed Systems

Automated Verification of Refinements of Concurrent and Distributed Systems PDF Author: Peter Herrmann
Publisher:
ISBN:
Category :
Languages : en
Pages : 17

Get Book Here

Book Description


Formal Verification of a Concurrent Binary Search Tree

Formal Verification of a Concurrent Binary Search Tree PDF Author: Xiwen Chen
Publisher:
ISBN:
Category :
Languages : en
Pages : 0

Get Book Here

Book Description
In this thesis, we formally verify a simplified version of the non-blocking linearizable binary search tree of Ellen and others, 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 simulation from the intermediate automaton to the specification's automaton, we formally verify that the algorithm implements its specification. While formalizing the proof, we found small errors in the original proof.

Methods and Algorithms for Scalable Verification of Asynchronous Designs

Methods and Algorithms for Scalable Verification of Asynchronous Designs PDF Author: Haiqiong Yao
Publisher:
ISBN:
Category :
Languages : en
Pages :

Get Book Here

Book Description
Concurrent systems are getting more complex with the advent of multi-core processors and the support of concurrent programs. However, errors of concurrent systems are too subtle to detect with the traditional testing and simulation. Model checking is an effective method to verify concurrent systems by exhaustively searching the complete state space exhibited by a system. However, the main challenge for model checking is state explosion, that is the state space of a concurrent system grows exponentially in the number of components of the system. The state space explosion problem prevents model checking from being applied to systems in realistic size. After decades of intensive research, a large number of methods have been developed to attack this well-known problem. Compositional verification is one of the promising methods that can be scalable to large complex concurrent systems. In compositional verification, the task of verifying an entire system is divided into smaller tasks of verifying each component of the system individually. The correctness of the properties on the entire system can be derived from the results from the local verification on individual components. This method avoids building up the global state space for the entire system, and accordingly alleviates the state space explosion problem. In order to facilitate the application of compositional verification, several issues need to be addressed. The generation of over-approximate and yet accurate environments for components for local verification is a major focus of the automated compositional verification. This dissertation addresses such issue by proposing two abstraction refinement methods that refine the state space of each component with an over-approximate environment iteratively.