There is a newer version of the record available.

Published January 1, 2026 | Version v3
Software Open

A Formal Interface for Concurrent Search Structure Templates

Authors/Creators

Description

This artifact contains the formalization accompanying the paper A Formal Interface for Concurrent Search Structure Templates.

Our C implementations (in templates/implementations) and the formally verified Concurrent Search Structure Templates (in templates), verified using VST and flow interfaces (in flows), are included in esop26-44-artifact.tar.gz. The file templates-artifact.tar.gz is a Docker image containing a precompiled version of esop26-44-artifact.tar.gz, with all dependencies already installed.

Detailed instructions and explanations are provided in the README.md file included in esop26-44-artifact.tar.gz. For convenience, a brief summary of the steps required to run the smoke test is also provided below.

Getting Started Guide

To evaluate the artifact, we provide two options:

(1) using a container that has the implementation installed already (Option 1: Docker Container (Recommended)), or

(2) installing the artifact locally on your machine (Option 2: Local Installation).

Installation Option 1: Docker container (Recommended)

To use the precompiled Docker image (templates-artifact.tar.gz), first install the Docker engine and then run:

docker load -i templates-artifact.tar.gz
docker run --rm -it templates-artifact:latest /bin/bash

The project is located in root/templates folder. To rebuild it, run the following commands:

cd root/templates
eval $(opam env)
make clean
make -jN

Here, N controls the level of parallelism and can be adjusted according to the available resources of your machine (e.g., make -j4).

Installation Option 2: Local Installation (Alternative)

This option builds the Rocq development locally using opam. It creates a fresh opam switch inside the artifact directory, ensuring that none of your existing Rocq/Coq developments are affected.

Prerequisite

This installation requires a working installation of opam. The provided script does not install opam; it only creates and uses a local switch. See opam installation instructions.

Building the Artifact

To build the artifact in a new opam switch, we provide an installation script, build_artifact.sh. Please run the following at the root of the artifact folder ./build_artifact.sh

The ./build_artifact.sh script

  1. creates a fresh opam switch in the artifact directory,
  2. installs all required dependencies in that switch, and
  3. builds the Rocq implementation.

Files

Files (5.3 GB)

Name Size Download all
md5:cea7dc0f4018f24b9b0501ed35fb2bd1
10.2 MB Download
md5:dc4137c37c9cbaaf696442675259ed8d
5.3 GB Download