freespek / ssf-mc

EF project Exploring Automatic Model-Checking of the Ethereum specification
Apache License 2.0
4 stars 0 forks source link

3SF Automated Model-Checking

EF project for model-checking Accountable Safety on the 3SF protocol proposal by D'Amato, Saltini, Tran, and Zanolini.

TLA+ Specifications

Spec 1. spec1-2/ffg_recursive.tla. The result of a manual mechanical translation of the original executable specification in Python, which can be found in ffg.py.

Spec 2. spec1-2/ffg.tla. A manual adaptation of Spec 1, using folds instead of recursion and introducing a memorization optimization.

Spec 3. spec3/ffg.tla. A manual abstraction of Spec 2 that is further optimized for constraint solving, especially with Apalache.

Translation Rules

Our translation rules from executable Python specifications to TLA+ can be found in Translation.md.

Experimental Results

Experimental results are reported in EXPERIMENTS.md.