Extracting symbolic transitions from TLA+ specifications

被引:1
|
作者
Kukovec, Jure [1 ]
Tran, Thanh-Hai [1 ]
Konnov, Igor [2 ,3 ]
机构
[1] TU Wien, A-1040 Vienna, Austria
[2] Inria Nancy Grand Est, Nancy, France
[3] Interchain Fdn, Baar, Switzerland
基金
奥地利科学基金会;
关键词
TLA(+); SMT; Symbolic transition systems; VERIFICATION; SAFETY;
D O I
10.1016/j.scico.2019.102361
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In TLA(+), a system specification is written as a logical formula that restricts the system behavior. As a logic, TLA(+) does not have assignments and other imperative statements that are used by model checkers to compute the successor states of a system state. Model checkers compute successors either explicitly - by evaluating program statements or symbolically - by translating program statements to an SMT formula and checking its satisfiability. To efficiently enumerate the successors, TLA's model checker TLC introduces side effects. For instance, an equality x' = e is interpreted as an assignment of e to the yet unbound variable x. Inspired by TLC, we introduce an automatic technique for discovering expressions in TLA(+) formulas such as x' = e and x' is an element of {e(1), ..., e(k)} that can be provably used as assignments. In contrast to TLC, our technique does not explicitly evaluate expressions, but it reduces the problem of finding assignments to the satisfiability of an SMT formula. Hence, we give a way to slice a TLA(+) formula in symbolic transitions, which can be used as an input to a symbolic model checker. Our prototype implementation successfully extracts symbolic transitions from a few TLA(+) benchmarks. (C) 2019 Elsevier B.V. All rights reserved.
引用
收藏
页数:22
相关论文
共 50 条
  • [1] Model checking TLA+ specifications
    Yu, Y
    Manolios, P
    Lamport, L
    [J]. CORRECT HARDWARE DESIGN AND VERIFICATION METHODS, 1999, 1703 : 54 - 66
  • [2] TLA+ Model Checking Made Symbolic
    Konnov, Igor
    Kukovec, Jure
    Tran, Thanh-Hai
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (OOPSLA):
  • [3] Fully-Tested code generation from TLA+ specifications
    Moreira, Gabriela
    Vasconcellos, Cristiano Damiani
    Kniess, Janine
    [J]. 7TH BRAZILIAN SYMPOSIUM ON SYSTEMATIC AND AUTOMATED SOFTWARE TESTING, SAST 2022, 2022, : 19 - 28
  • [4] Validating Traces of Distributed Programs Against TLA+ Specifications
    Cirstea, Horatiu
    Kuppe, Markus A.
    Loillier, Benjamin
    Merz, Stephan
    [J]. arXiv,
  • [5] Specifying reversibility with TLA+
    Kapus, Tatjana
    [J]. JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 2020, 116
  • [6] On the logic of TLA+
    Merz, S
    [J]. COMPUTING AND INFORMATICS, 2003, 22 (3-4) : 351 - 379
  • [7] Refinement Types for TLA+
    Merz, Stephan
    Vanzetto, Hernan
    [J]. NASA FORMAL METHODS, NFM 2014, 2014, 8430 : 143 - 157
  • [8] Specifying concurrent systems with TLA+
    Lamport, L
    [J]. CALCULATIONAL SYSTEM DESIGN, 1999, 173 : 183 - 247
  • [9] Why Amazon Chose TLA+
    Newcombe, Chris
    [J]. ABSTRACT STATE MACHINES, ALLOY, B, TLA, VDM, AND Z, ABZ 2014, 2014, 8477 : 25 - 39
  • [10] Formal Semantics of Orc Based on TLA+
    You, Zhen
    Xue, Jinyun
    Hu, Qimin
    Hong, Yi
    [J]. STRUCTURED OBJECT-ORIENTED FORMAL LANGUAGE AND METHOD, 2015, 8979 : 147 - 163