English
Related papers

Related papers: Verifying a Realistic Mutable Hash Table

200 papers

Many security- and performance-critical domains, such as cryptography, rely on low-level verification to minimize the trusted computing surface and allow code to be written directly in assembly. However, verifying assembly code against a…

Logic in Computer Science · Computer Science 2025-05-21 Denis Mazzucato , Abdalrhman Mohamed , Juneyoung Lee , Clark Barrett , Jim Grundy , John Harrison , Corina S. Pasareanu

Functional programming typically emphasizes programming with first-class functions and immutable data. Immutable data types enable fault tolerance in distributed systems, and ensure process isolation in message-passing concurrency, among…

Programming Languages · Computer Science 2017-04-12 Philipp Haller , Ludvig Axelsson

This paper introduces several techniques that improve the scalability of the deductive verification of data-level programs working on arrays and matrices. First of all, we introduce a technique to rewrite expressions with (nested)…

Software Engineering · Computer Science 2026-05-14 Lars B. van den Haak , Anton Wijs , Marieke Huisman

Byte-addressable persistent memory (PM) brings hash tables the potential of low latency, cheap persistence and instant recovery. The recent advent of Intel Optane DC Persistent Memory Modules (DCPMM) further accelerates this trend. Many new…

Databases · Computer Science 2020-10-30 Baotong Lu , Xiangpeng Hao , Tianzheng Wang , Eric Lo

Hashing has emerged as a popular technique for large-scale similarity search. Most learning-based hashing methods generate compact yet correlated hash codes. However, this redundancy is storage-inefficient. Hence we propose a lossless…

Computer Vision and Pattern Recognition · Computer Science 2016-03-18 Honghai Yu , Pierre Moulin , Hong Wei Ng , Xiaoli Li

Reasoning about array data structures is a key requirement for many applications in hardware and software verification, especially in combination with machine integers. The Satisfiability Modulo Theories (SMT) theory of extensional arrays…

Logic in Computer Science · Computer Science 2026-05-20 Mathias Preiner , Aina Niemetz , Clark Barrett

In the realm of big data and cloud computing, distributed systems are tasked with proficiently managing, storing, and validating extensive datasets across numerous nodes, all while maintaining robust data integrity. Conventional hashing…

Cryptography and Security · Computer Science 2025-07-30 Krishnendu Das

Formally verifying properties of programs that manipulate arrays in loops is computationally challenging. In this paper, we focus on a useful class of such programs, and present a novel property-driven verification method that first infers…

Software Engineering · Computer Science 2017-10-05 Supratik Chakraborty , Ashutosh Gupta , Divyesh Unadkat

We present the design, implementation, and foundation of a verifier for higher-order functional programs with generics and recursive data types. Our system supports proving safety and termination using preconditions, postconditions and…

Logic in Computer Science · Computer Science 2020-03-25 Jad Hamza , Nicolas Voirol , Viktor Kunčak

We take a relatively fresh wait-free, concurrent sorted map called KiWi, fix and enhance it. First, we test its linearizability by fuzzing and applying Wing&Gong [2] linearizability test. After fixing a few bugs in the algorithm design and…

Data Structures and Algorithms · Computer Science 2017-10-16 Assaf Yifrach , Niv Gabso

We introduce SecRef*, a secure compilation framework protecting stateful programs verified in F* against linked unverified code, with which the program dynamically shares ML-style mutable references. To ease program verification in this…

This paper presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block…

Databases · Computer Science 2024-06-17 Antonios Katsarakis , Vasilis Gavrielatos , Nikos Ntarmos

Linear algebra is a major field of numerical computation and is widely applied. Most linear algebra libraries (in most programming languages) do not statically guarantee consistency of the dimensions of vectors and matrices, causing runtime…

Programming Languages · Computer Science 2015-12-08 Akinori Abe , Eijiro Sumii

Concurrent hash tables are one of the most important concurrent data structures with numerous applications. Since hash table accesses can dominate the execution time of the overall application, we need implementations that achieve good…

Data Structures and Algorithms · Computer Science 2016-09-07 Tobias Maier , Peter Sanders , Roman Dementiev

A hash table is said to be open-addressed (or non-obliviously open-addressed) if it stores elements (and free slots) in an array with no additional metadata. Intuitively, open-addressed hash tables must incur a space-time tradeoff: The…

Data Structures and Algorithms · Computer Science 2025-03-19 Michael A. Bender , William Kuszmaul , Renfei Zhou

Due to network practices such as traffic engineering and multi-homing, the number of routes---also known as IP prefixes---in the global forwarding tables has been increasing significantly in the last decade and continues growing in a super…

Networking and Internet Architecture · Computer Science 2018-10-15 Garegin Grigoryan , Yaoqing Liu , Michael Leczinsky , Jun Li

Network configuration verification enables operators to ensure that the network will behave as intended, prior to deployment of their configurations. Although techniques ranging from graph algorithms to SMT solvers have been proposed,…

Networking and Internet Architecture · Computer Science 2019-11-07 Santhosh Prabhu , Kuan-Yen Chou , Ali Kheradmand , P. Brighten Godfrey , Matthew Caesar

This report describes an implementation of a non-blocking concurrent shared-memory hash trie based on single-word compare-and-swap instructions. Insert, lookup and remove operations modifying different parts of the hash trie can be run…

Data Structures and Algorithms · Computer Science 2017-09-19 Aleksandar Prokopec , Phil Bagwell , Martin Odersky

High-level synthesis (HLS) transforms an algorithmic description of hardware from a higher abstraction (e.g., C/C++) into a register-transfer level (RTL) design, offering reduced development time and greater flexibility in design space…

Hardware Architecture · Computer Science 2026-04-27 Xiaofeng Zhou , Linfeng Du , Guangyu Hu , Sharad Sinha , Hongce Zhang , Wei Zhang

Pointer analysis is indispensable for effectively verifying heap-manipulating programs. Even though it has been studied extensively, there are no publicly available pointer analyses that are moderately precise while scalable to large…

Programming Languages · Computer Science 2019-08-19 Jakub Kuderski , Jorge A. Navas , Arie Gurfinkel