A thread-safe Term Library

11/04/2021
by   J. F. Groote, et al.
0

Terms are one of the fundamental data structures for computing. E.g. every expression characterisable by a context free grammar is a term. Remarkably, terms are not yet standard in common programming languages although term libraries have already been proposed in the 1990-ies. We developed a thread-safe Term Library. The biggest challenge is to implement hyper-efficient multi-reader/single writer mutual exclusion for which we designed the new busy-forbidden protocol. Model checking is used to show both the correctness of the protocol and the library. Benchmarks show this Term Library to scale well, and to compare favourably with sequential versions. Using the new library in an existing state space generation tool, very substantial speed ups can be obtained.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/20/2018

A benchmark library for parametric timed model checking

Verification of real-time systems involving hard timing constraints and ...
research
07/28/2021

Pixyz: a library for developing deep generative models

With the recent rapid progress in the study of deep generative models (D...
research
12/05/2022

Collabs: Composable Collaborative Data Structures

Replicated data types (RDTs), such as Conflict-free Replicated Data Type...
research
06/19/2017

Generic Approach to Certified Static Checking of Module-like Constructs

In this paper we consider the problem of certified static checking of mo...
research
05/18/2017

Exploiting Term Hiding to Reduce Run-time Checking Overhead

One of the most attractive features of untyped languages is the flexibil...
research
07/31/2023

Verified Scalable Parallel Computing with Why3

BSML is a pure functional library for the multi-paradigm language OCaml....
research
09/12/2019

Rusty Variation: Deadlock-free Sessions with Failure in Rust

Rusty Variation (RV) is a library for session-typed communication in Rus...

Please sign up or login with your details

Forgot password? Click here to reset