We present a new technique for automatically inferring inductive invariants of parameterized distributed protocols specified in TLA+. Ours is the first such invariant inference technique to work directly on TLA+, an expressive, high level specification language. To achieve this, we present a new algorithm for invariant inference that is based around a core procedure for generating plain, potentially non-inductive lemma invariants that are used as candidate conjuncts of an overall inductive invariant. We couple this with a greedy lemma invariant selection procedure that selects lemmas that eliminate the largest number of counterexamples to induction at each round of our inference procedure. We have implemented our algorithm in a tool, endive, and evaluate it on a diverse set of distributed protocol benchmarks, demonstrating competitive performance and ability to uniquely solve an industrial scale reconfiguration protocol.
翻译:我们提出了一种新技术,用于自动推断TLA+中指定的参数分布式协议的诱导性变异性。我们是第一个直接针对TLA+(一种直观、高层次的规格语言)直接使用的这种变异性推导技术。为了实现这一目标,我们提出了一种新的变异性推导法,它以一个核心程序为基础,用于生成普通的、潜在的非诱导性 Lemma 异性,作为整个诱导性协议的候选聚合物。我们把它与一种贪婪的利玛异性选择程序结合起来,它选择了乳腺,在每轮推理程序上消除了最多的对应示例。我们用一种工具,即自定义性,在一套分散式协议基准上进行了评估,显示了竞争性的性能和独特解决工业规模重组协议的能力。