SMT solving for the validation of B and Event-B models

被引:0
作者
Joshua Schmidt
Michael Leuschel
机构
[1] Universität Düsseldorf,Institut für Informatik
来源
International Journal on Software Tools for Technology Transfer | 2022年 / 24卷
关键词
SMT solving; Z3; Constraint logic programming; ProB; B-method; Event-B;
D O I
暂无
中图分类号
学科分类号
摘要
ProB provides a constraint solver for the B-method written in Prolog and can make use of different backends based on SAT and SMT solving. One such backend translates B and Event-B operators to SMT-LIB using the Z3 solver. This translation uses quantifiers to axiomatize some operators, which are not well-handled by Z3. Several relational constraints such as the transitive closure are not supported by this translation. In this article, we substantially improve the translation to SMT-LIB by employing a more constructive rather than axiomatized style using Z3’s lambda function. Thereby, we are able both to translate more B and Event-B operators to SMT-LIB and improve the overall performance. We further extend ProB’s interface to Z3 to run different solver configurations in parallel. In addition, we present a direct implementation of SMT solving in Prolog using ProB’s constraint solver as a theory solver. We hereby aim to combine the strengths of conflict-driven clause learning for identifying contradictions with ProB’s constraint solver for finding solutions. We deem this implementation to be worthwhile since ProB’s constraint solver is tailored toward solving B and Event-B constraints, and we herewith avoid the dependency on an external SMT solver. Empirical results show that the new integration of Z3 has improved performance of constraint solving and enables to solve several constraints which cannot be solved by ProB’s constraint solver. Furthermore, the direct implementation of SMT solving in ProB shows benefits compared to ProB’s constraint solver and the integration of Z3.
引用
收藏
页码:1043 / 1077
页数:34
相关论文
共 50 条
  • [11] From Event-B Models to Dafny Code Contracts
    Dalvandi, Mohammadsadegh
    Butler, Michael
    Rezazadeh, Abdolbaghi
    FUNDAMENTALS OF SOFTWARE ENGINEERING, FSEN 2015, 2015, 9392 : 308 - 315
  • [12] Core Hybrid Event-B I: Single Hybrid Event-B machines
    Banach, Richard
    Butler, Michael
    Qin, Shengchao
    Verma, Nitika
    Zhu, Huibiao
    SCIENCE OF COMPUTER PROGRAMMING, 2015, 105 : 92 - 123
  • [13] Building traceable Event-B models from requirements
    Alkhammash, Eman
    Butler, Michael
    Fathabadi, Asieh Salehi
    Cirstea, Corina
    SCIENCE OF COMPUTER PROGRAMMING, 2015, 111 : 318 - 338
  • [14] Reachability Analysis and Simulation for Hybridised Event-B Models
    Ait-Ameur, Yamine
    Bogomolov, Sergiy
    Dupont, Guillaume
    Singh, Neeraj Kumar
    Stankaitis, Paulius
    INTEGRATED FORMAL METHODS, IFM 2022, 2022, 13274 : 109 - 128
  • [15] Towards Generating SPARK from Event-B Models
    Sritharan, Sanjeevan
    Hoang, Thai Son
    INTEGRATED FORMAL METHODS, IFM 2020, 2020, 12546 : 103 - 120
  • [16] Formal Analysis of BPMN Models Using Event-B
    Bryans, Jeremy W.
    Wei, Wei
    FORMAL METHODS FOR INDUSTRIAL CRITICAL SYSTEMS, 2010, 6371 : 33 - +
  • [17] Refinement and Validation of the Immune System Based on the Event-B Method
    Zou, Sheng-rong
    Chen, Li
    Wang, Chen
    Shu, Yu-dan
    2019 4TH INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND APPLICATIONS (ICCIA 2019), 2019, : 16 - 20
  • [18] Trace preservation in B and Event-B refinements
    Stock, Sebastian
    Mashkoor, Atif
    Leuschel, Michael
    Egyed, Alexander
    JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 2024, 137
  • [19] Enabling Analysis for Event-B
    Dobrikov, Ivaylo
    Leuschel, Michael
    ABSTRACT STATE MACHINES, ALLOY, B, TLA, VDM, AND Z (ABZ 2016), 2016, 9675 : 102 - 118
  • [20] Derivation of concurrent programs by stepwise scheduling of Event-B models
    Bostrom, Pontus
    Degerlund, Fredrik
    Sere, Kaisa
    Walden, Marina
    FORMAL ASPECTS OF COMPUTING, 2014, 26 (02) : 281 - 303