English
Related papers

Related papers: Verifying a Realistic Mutable Hash Table

200 papers

We extend the Stainless deductive verifier with floating-point support, providing the first automated verification support for floating-point numbers for a subset of Scala that includes polymorphism, recursion and higher-order functions. We…

Programming Languages · Computer Science 2026-01-21 Andrea Gilot , Axel Bergström , Eva Darulova

An immutable multi-map is a many-to-many thread-friendly map data structure with expected fast insert and lookup operations. This data structure is used for applications processing graphs or many-to-many relations as applied in static…

Data Structures and Algorithms · Computer Science 2016-08-04 Michael J. Steindorfer , Jurgen J. Vinju

In this project, we explore the concept of invertibility applied to serialisation and lexing frameworks. Recall that, on one hand, serialisation is the process of taking a data structure and writing it to a bit array while parsing is the…

Programming Languages · Computer Science 2024-12-19 Samuel Chassot , Viktor Kunčak

This paper focuses on data structures for multi-core reachability, which is a key component in model checking algorithms and other verification methods. A cornerstone of an efficient solution is the storage of visited states. In related…

Distributed, Parallel, and Cluster Computing · Computer Science 2010-05-06 Alfons Laarman , Jaco van de Pol , Michael Weber

This paper presents an efficient wait-free resizable hash table. To achieve high throughput at large core counts, our algorithm is specifically designed to retain the natural parallelism of concurrent hashing, while providing wait-free…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-04-21 Panagiota Fatourou , Nikolaos D. Kallimanis , Thomas Ropars

The use of graphics processors (GPUs) is a promising approach to speed up model checking to such an extent that it becomes feasible to instantly verify software systems during development. GPUexplore is an explicit-state model checker that…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-01-19 Nathan Cassee , Thomas Neele , Anton Wijs

Scalable ordered maps must ensure that range queries, which operate over many consecutive keys, provide intuitive semantics (e.g., linearizability) without degrading the performance of concurrent insertions and removals. These goals are…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-10-11 Matthew Rodriguez , Vitaly Aksenov , Michael Spear

We describe a consistent hashing algorithm which performs multiple lookups per key in a hash table of nodes. It requires no additional storage beyond the hash table, and achieves a peak-to-average load ratio of 1 + epsilon with just 1 +…

Data Structures and Algorithms · Computer Science 2015-05-04 Ben Appleton , Michael O'Reilly

We propose a verified executable Scala backend for ASN1SCC, a compiler for ASN.1/ACN. ASN.1 is a language for describing data structures widely employed in ground and space telecommunications. ACN can be used along ASN.1 to describe complex…

Software Engineering · Computer Science 2024-12-11 Mario Bucev , Samuel Chassot , Simon Felix , Filip Schramka , Viktor Kunčak

We present a general framework for specifying and verifying persistent libraries, that is, libraries of data structures that provide some persistency guarantees upon a failure of the machine they are executing on. Our framework enables…

Programming Languages · Computer Science 2023-06-05 Léo Stefanesco , Azalea Raad , Viktor Vafeiadis

In this paper, we give theoretically and practically efficient implementations of Big Atomics, i.e., $k$-word linearizable registers that support the load, store, and compare-and-swap (CAS) operations. While modern hardware supports $k = 1$…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-01-14 Daniel Anderson , Guy E. Blelloch , Siddhartha Jayanti

We present a tool for verification of deterministic programs with shared mutable references against specifications such as assertions, preconditions, postconditions, and read/write effects. We implement our tool by encoding programs with…

Logic in Computer Science · Computer Science 2021-03-16 Georg Schmid , Viktor Kunčak

We describe a variant of linear probing hash tables that never moves elements and thus supports referential integrity, i.e., pointers to elements remain valid while this element is in the hash table. This is achieved by the folklore method…

Data Structures and Algorithms · Computer Science 2018-08-15 Peter Sanders

Non-volatile memory is expected to co-exist or replace DRAM in upcoming architectures. Durable concurrent data structures for non-volatile memories are essential building blocks for constructing adequate software for use with these…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-09-10 Yoav Zuriel , Michal Friedman , Gali Sheffi , Nachshon Cohen , Erez Petrank

Given a specified average load factor, hash tables offer the appeal of constant time lookup operations. However, hash tables could face severe hash collisions because of malicious attacks, buggy applications, or even bursts of incoming…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-06-02 Junchang Wang , Xiong Fu , Fu Xiao , Chen Tian

A wide range of interesting program properties are intrinsically relational, i.e., they relate two or more program traces. Two prominent relational properties are secure information flow and conditional program equivalence. By showing the…

Logic in Computer Science · Computer Science 2019-10-22 Alexander Weigl , Mattias Ulbrich , Suhyun Cha , Bernhard Beckert , Birgit Vogel-Heuser

We present an efficient lock-free algorithm for parallel accessible hash tables with open addressing, which promises more robust performance and reliability than conventional lock-based implementations. ``Lock-free'' means that it is…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Hui Gao , Jan Friso Groote , Wim H. Hesselink

We present ZipLex, a verified framework for invertible linear-time lexical analysis following the longest match (maximal munch) semantics. Unlike past verified lexers that focus only on satisfying the semantics of regular expressions and…

Programming Languages · Computer Science 2026-05-22 Samuel Chassot , Viktor Kunčak

Distributed Hash Tables offer a resilient lookup service for unstable distributed environments. Resilient data storage, however, requires additional data replication and maintenance algorithms. These algorithms can have an impact on both…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Matthew Leslie

Recent work has made great progress in verifying the forwarding correctness of networks . However, these approaches cannot be used to verify networks containing middleboxes, such as caches and firewalls, whose forwarding behavior depends on…

Networking and Internet Architecture · Computer Science 2016-07-05 Aurojit Panda , Ori Lahav , Katerina Argyraki , Mooly Sagiv , Scott Shenker
‹ Prev 1 2 3 10 Next ›