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 条
[1]   SMT solving for the validation of B and Event-B models [J].
Schmidt, Joshua ;
Leuschel, Michael .
INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2022, 24 (06) :1043-1077
[2]   SMT Solvers for Validation of B and Event-B Models [J].
Krings, Sebastian ;
Leuschel, Michael .
INTEGRATED FORMAL METHODS (IFM 2016), 2016, 9681 :361-375
[3]   Integration of SMT-solvers in B and Event-B development environments [J].
Deharbe, David .
SCIENCE OF COMPUTER PROGRAMMING, 2013, 78 (03) :310-326
[4]   Event-B Formalization of Event-B Contexts [J].
Bodeveix, Jean-Paul ;
Filali, Mamoun .
RIGOROUS STATE-BASED METHODS, ABZ 2021, 2021, 12709 :66-80
[5]   Formalizing Ontologies for AI Models Validation: from OWL to Event-B [J].
Bah, Mohamed Ould ;
Boudi, Zakaryae ;
Toub, Mohamed ;
Wakrime, Abderrahim Ait ;
Aniba, Ghassane .
2021 IEEE 15TH INTERNATIONAL CONFERENCE ON SEMANTIC COMPUTING (ICSC 2021), 2021, :455-462
[6]   Proving the Fidelity of Simulations of Event-B Models [J].
Yang, Faqing ;
Jacquot, Jean-Pierre ;
Souquieres, Jeanine .
2014 IEEE 15TH INTERNATIONAL SYMPOSIUM ON HIGH-ASSURANCE SYSTEMS ENGINEERING (HASE), 2014, :89-96
[7]   Formal Verification of AADL Models by Event-B [J].
Hadad, Abeer Saeed Abdo ;
Ma, Chunyan ;
Ahmed, Adeeb Abdulwakeel Obadi .
IEEE ACCESS, 2020, 8 :72814-72834
[8]   Enabling analysis for Event-B [J].
Dobrikov, Ivaylo ;
Leuschel, Michael .
SCIENCE OF COMPUTER PROGRAMMING, 2018, 158 :81-99
[9]   Event Ordering Using Graphical Notation for Event-B Models [J].
Karmakar, Rahul ;
Sarkar, Bidyut Biman ;
Chaki, Nabendu .
COMPUTER INFORMATION SYSTEMS AND INDUSTRIAL MANAGEMENT, CISIM 2020, 2020, 12133 :377-389
[10]   Refinement-based Validation of Event-B Specifications [J].
Mashkoor, Atif ;
Yang, Faqing ;
Jacquot, Jean-Pierre .
SOFTWARE AND SYSTEMS MODELING, 2017, 16 (03) :789-808