Proof Assisted Symbolic Model Checking for B and Event-B

  title={Proof Assisted Symbolic Model Checking for B and Event-B},
  author={Sebastian Krings and Michael Leuschel},
We have implemented various symbolic model checking algorithms, like BMC, k-Induction and IC3 for B and Event-B. The high-level nature of B and Event-B accounts for complicated constraints arising in these symbolic analysis techniques. In this paper we suggest using static information stemming from proof obligations to simplify occurring constraints. We show how to include proof information in the aforementioned algorithms. Using different benchmarks we compare explicit state to symbolic model… 
The Burden of High-Level Languages : Complicated Symbolic Model Checking Sebastian Krings
Using symbolic model checking algorithms for the specification languages B and Event-B is complicated, due to their high-level nature, which accounts for complex constraints.
State-of-the-Art Model Checking for B and Event-B Using ProB and LTSmin
A very basic integration of ProB and LTSmin, a language-independent model checker offering state-of-the-art model checking algorithms, and its results seemed very promising, but much potential of L TSmin was not covered by the implementation.
Writing a Model Checker in 80 Days: Reusable Libraries and Custom Implementation
A selection of reusable libraries which can be combined into a prototypical model checker relatively easily are reported on, and BMoth is compared to other model checkers for classical B.
Towards Infinite-State Symbolic Model Checking for B and Event-B
This thesis is concerned with improving the ProB model checker by augmenting its original explicit state modelChecker with a symbolic counterpart, and implements methods to increase the performance of ProB’s constraint solving kernel.
Formal Model-Based Constraint Solving and Document Generation
The idea to use formal models themselves to express constraint satisfaction problems and to embed formal models as executable artefacts at runtime and a document generation feature, whose output is derived from such executable models are developed.
Three Is a Crowd: SAT, SMT and CLP on a Chessboard
This article evaluates the idea of using very high-level declarative models themselves to express constraint satisfaction problems, and presents a new technique combining SAT-solving with CLP which is able to solve the crowded chessboard efficiently.
Prototyping Games Using Formal Methods
By formalizing the rules of commonly known games, this paper achieves examples both engaging and suited for students, and broadens the horizon of formal methods, driving research at the same time.


SMT Solvers for Validation of B and Event-B Models
An integration of the constraint solving kernel of the ProB model checker with the SMT solver Z3 is presented, featuring higher-order datatypes and constructs like set comprehensions, and the improved constraint solver finds application in many validation tasks.
SAT-Based Model Checking without Unrolling
Experimental studies show that induction is a powerful tool for generalizing the unreachability of given error states: it can refine away many states at once, and it is effective at focusing the proof search on aspects of the transition system relevant to the property.
Constraint-based deadlock checking of high-level specifications
This paper proposes a constraint-based approach to finding deadlocks employing the ProB constraint solver, as well as various improvements that had to be performed on ProB's Prolog kernel, such as reification of membership and arithmetic constraints.
From Failure to Proof: The ProB Disprover for B and Event-B
This paper explains how ProB has been embedded as a prover into Rodin and Atelier B and presents a new method to check proof obligations for inconsistencies, which has helped uncover various issues in existing (sometimes fully proven) models.
A Lazy Unbounded Model Checker for Event-B
Eboc is an explicit state model checker for Event-B that is based on lazy techniques that allow it to fairly perform an exhaustive state space search without bounding the size of the sets used in the specification.
Debugging Event-B Models using the ProB Disprover Plug-in !
A disprover plugin for RODIN that utilizes the ProB animator and model checker to automatically find counterexamples for a given problematic proof obligation, so that the user can directly investigate the source of the problem and not attempt to prove the proof obligation.
Combining Model Checking and Deduction for I/O-Automata
We propose a combination of model checking and interactive theorem proving where the theorem prover is used to represent finite and infinite state systems, reason about them compositionally and
Translating B to TLA + for Validation with TLC
This paper presents a translation from B to TLA + to validate B specifications using the model checker TLC, and provides translation rules for almost all constructs of B, in particular for those which are not built-in in T LA +.
Software Model Checking via IC3
This paper generalizes IC3 from SAT to Satisfiability Modulo Theories (SMT), thus enabling the direct analysis of programs after an encoding in form of symbolic transition systems, and adapts the "linear" search style of IC3 to a tree-like search.