TLA+ benchmarks for endive invariant inference tool
This repository contains TLA+ protocol benchmarks for the endive inductive invariant inference tool. Each TLA+ protocol specification can be found in a benchmarks/<spec>.tla
file, and its corresponding configuration file for running with endive found at benchmarks/<spec>.config.json
. The full mapping between the benchmark names presented in Table 1 of the paper and the TLA+ protocol files is shown in the table below. Also, the Ivy models used for benchmarking other invariant inference tools can be found in the benchmarks/ivy
subdirectory.
Each configuration file is a JSON file that includes
various parameters for running a benchmark. In particular, the preds
entry contains the list of seed predicates that are used in the grammar for generating invariant candidates. The constants
entry also shows the finite instance size used for checking and inferring invariants, and quant_inv
shows the quantifier template used.
In addition, the inductive invariant discovered by endive for each benchmark can be found in a benchmarks/<spec>_IndAutoGen.tla
file, defined as IndAuto
at the top of the file.