TAMARIN Prover News Software Documentation About

batch-tamarin is now available

 //

batch-tamarin is a Python wrapper for Tamarin Prover that enables batch execution of protocol verification tasks with reproducibility features. Available now on PyPI. Blog post below!

Context

If you’ve ever worked with Tamarin Prover, you know the pain of running large experiments. Whether you’re comparing different prover versions, testing multiple models, or trying to reproduce someone else’s results, you’ve probably ended up writing custom shell scripts that are hard to maintain and even harder to share.

Researchers have tried to solve this problem in different ways. Some tools like UT-Tamarin help with individual model development, while others like ANSSI’s parser focus on specific analysis workflows. Many research groups even built their own Python wrappers for their papers. But these solutions are usually limited in scope—you might get good lemma-level testing, or nice parsing, or basic orchestration, but rarely all together in a way that works across different experiments.

That’s exactly why batch-tamarin has been built. After observing researchers struggle with the same reproducibility issues over and over, it became clear that a unified solution was needed that could handle real-world research workflows: multiple models, different Tamarin versions, proper resource management, and results that are actually comparable. Instead of yet another paper-specific script, batch-tamarin aims to be the tool that works for any Tamarin experiment, making it easier to focus on the protocol analysis.

Features

batch-tamarin provides a comprehensive solution for reproducible Tamarin workflow orchestration with the following key features:

Technical Details

A full report of the first version of batch-tamarin, including its architecture, design decisions, and implementation details is available in the GitHub repository report, in addition to the documentation markdown in the root of the repository: ARCHITECTURE.md.

Reproducibility ?

Yes, reproducibility was one of the main design goals for batch-tamarin. The tool provides Dockerfiles that can be used to build Docker images with all dependencies needed to run batch-tamarin with a preconfigured environment containing Tamarin Prover. Currently, version 1.10.0 to 1.6.1 and the latest development version are available with batch-tamarin. These Dockerfiles are available in the GitHub repository here. Ready to use Docker images are available on DockerHub: lmandrelli/tamarin-prover-and-batch

Docker images of the Tamarin prover only are also available on DockerHub: lmandrelli/tamarin-prover providing Tamarin Prover from version 1.4.0 up to 1.10.0, both for amd64 and arm64 architectures. The Dockerfiles used to build these images are available in the GitHub repository here.

Installation

Prerequisites:

You can install batch-tamarin using pip:

pip install batch-tamarin

It will then automatically be available as a command line tool batch-tamarin.