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
- creates a fresh
opamswitch in the artifact directory, - installs all required dependencies in that switch, and
- 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 |