Accelerating Protocol Synthesis and Detecting Unrealizability with Interpretation Reduction
Derek Egolf, Stavros Tripakis

TL;DR
This paper introduces a new interpretation reduction technique for protocol synthesis that significantly speeds up the process and effectively detects unrealizability, outperforming existing methods on benchmark tests.
Contribution
The paper presents interpretation reduction, a novel search space reduction technique for protocol synthesis, improving efficiency and detection of unrealizability in TLA+ protocols.
Findings
Our tool is almost always faster than the state of the art, often by orders of magnitude.
It can synthesize a complete TLA+ protocol in less than 3 minutes, where others time out.
The method is sound, complete, and guarantees termination on unrealizable instances.
Abstract
We present a novel counterexample-guided, sketch-based method for the synthesis of symbolic distributed protocols in TLA+. Our method's chief novelty lies in a new search space reduction technique called interpretation reduction, which allows to not only eliminate incorrect candidate protocols before they are sent to the verifier, but also to avoid enumerating redundant candidates in the first place. Further performance improvements are achieved by an advanced technique for exact generalization of counterexamples. Experiments on a set of established benchmarks show that our tool is almost always faster than the state of the art, often by orders of magnitude, and was also able to synthesize an entire TLA+ protocol "from scratch" in less than 3 minutes where the state of the art timed out after an hour. Our method is sound, complete, and guaranteed to terminate on unrealizable synthesis…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Formal Methods in Verification · Software Reliability and Analysis Research
