We introduce a data-driven approach to computing finite bisimulations for state transition systems with very large, possibly infinite state space. Our novel technique computes stutter-insensitive bisimulations of deterministic systems, which we characterize as the problem of learning a state classifier together with a ranking function for each class. Our procedure learns a candidate state classifier and candidate ranking functions from a finite dataset of sample states; then, it checks whether these generalise to the entire state space using satisfiability modulo theory solving. Upon the affirmative answer, the procedure concludes that the classifier constitutes a valid stutter-insensitive bisimulation of the system. Upon a negative answer, the solver produces a counterexample state for which the classifier violates the claim, adds it to the dataset, and repeats learning and checking in a counterexample-guided inductive synthesis loop until a valid bisimulation is found. We demonstrate on a range of benchmarks from reactive verification and software model checking that our method yields faster verification results than alternative state-of-the-art tools in practice. Our method produces succinct abstractions that enable an effective verification of linear temporal logic without next operator, and are interpretable for system diagnostics.
翻译:我们提出了一种数据驱动方法,用于计算具有极大(可能无限)状态空间的状态转移系统的有限互模拟。我们的新技术可计算确定性系统的无抖动敏感互模拟,该问题被刻画为学习状态分类器及各类别排序函数的问题。我们的方法从有限的状态样本数据集中学习候选状态分类器和候选排序函数;随后,通过可满足性模理论求解验证这些函数是否能推广至整个状态空间。若验证通过,则判定该分类器构成系统有效的无抖动敏感互模拟。若验证失败,求解器将生成违反该断言的反例状态,将其加入数据集,并在反例引导的归纳综合循环中重复学习与验证过程,直至找到有效的互模拟。我们在反应式验证与软件模型检测的一系列基准测试中证明,本方法在实践中比现有先进工具能获得更快的验证结果。该方法生成的简洁抽象模型能有效验证无后继算子的线性时序逻辑,并为系统诊断提供可解释的模型。