Integrating Formal Specifications into Applications - The ProB Java API

The common formal methods workflow consists of formalising a model followed by applying model checking and proof techniques.

September 2020 · Philipp Körner, Jens Bendisposto, Jannik Dunkelau, Sebastian Krings, Michael Leuschel · In Formal Methods in System Design, Springer

The First Twenty-Five Years of Industrial Use of the B Method

The B-Method has an interesting history, where language and tools have evolved over the years.

July 2020 · Michael Butler, Philipp Körner, Sebastian Krings, Thierry Lecomte, Michael Leuschel, Luis-Fernando Mejia, Laurent Voisin · In Proceedings FMICS 2020, Springer LNCS

Translating Alloy and Extensions to Classical B

In this article, we introduce a denotational translation of the specification language Alloy to classical B.

December 2019 · Sebastian Krings, Michael Leuschel, Joshua Schmidt, David Schneider, Marc Frappier · In SCP, Elsevier

Embedding SMT-LIB into B for Interactive Proof and Constraint Solving

iFM 2019, Bergen, Norway

December 2019 · Sebastian Krings · iFM 2019

Embedding SMT-LIB into B for Interactive Proof and Constraint Solving

The SMT-LIB language and the B language are both based on predicate logic and share the definition of several operators.

November 2019 · Sebastian Krings, Michael Leuschel · Proceedings iFM 2019, Springer LNCS

Prototyping Games Using Formal Methods

Courses on formal methods are often based on examples and case studies, supposed to show students how to apply formal methods in practice.

November 2019 · Sebastian Krings, Philipp Körner · In Proceedings FMFun 2019

Embedding High-Level Formal Specifications into Applications

The common formal methods workflow consists of formalising a model followed by applying model checking and proof techniques.

September 2019 · Philipp Körner, Jens Bendisposto, Jannik Dunkelau, Sebastian Krings, Michael Leuschel · In Proceedings FM 2019, Springer LNCS

The History and Evolution of B and Event-B

The B method for software and systems development together with the specification language B and its successor Event-B offer a rich history.

June 2019 · Sebastian Krings, Michael Butler, Philipp Körner, Thierry Lecomte, Michael Leuschel, Laurent Voisin · Extended Abstract and Talk at HFM 2019

Repair and Generation of Formal Models Using Synthesis

Writing a formal model is a complicated and time-consuming task.

July 2018 · Joshua Schmidt, Sebastian Krings, Michael Leuschel · In Proceedings iFM 2018, Springer LNCS

A Translation from Alloy to B

In this paper, we introduce a translation of the specification language Alloy to classical B.

March 2018 · Sebastian Krings, Joshua Schmidt, Carola Brings, Marc Frappier, Michael Leuschel · In Proceedings ABZ 2018, Springer LNCS

plspec - A Specification Language for Prolog Data

In general, even though Prolog is a dynamically typed language, predicates may not be called with arbitrarily typed arguments.

September 2017 · Philipp Körner, Sebastian Krings · In Proceedings DECLARE 2017, Springer LNCS

Proof Assisted Bounded and Unbounded Symbolic Model Checking of Software and System Models

We have implemented various symbolic model checking algorithms, such as BMC, k-Induction and IC3 for B, Event-B and other modeling languages.

September 2017 · Sebastian Krings, Michael Leuschel · In Science of Computer Programming, Elsevier

The Burden of High-Level Languages: Complicated Symbolic Model Checking

Symbolic model checking algorithms like IC3 have proven to be an effective technique for hardware model checking.

June 2016 · Sebastian Krings · Presented at PhD Symposium at iFM 2016

SMT Solvers for Validation of B and Event-B models

We present an integration of the constraint solving kernel of the ProB model checker with the SMT solver Z3.

May 2016 · Sebastian Krings, Michael Leuschel · In Proceedings iFM 2016, Springer LNCS

Interactive Model Repair by Synthesis

When using B or Event-B for formal specifications, model checking is often used to detect errors such as invariant violations, deadlocks or refinement errors.

May 2016 · Joshua Schmidt, Sebastian Krings, Michael Leuschel · In Proceedings ABZ 2016, Springer LNCS

Proof Assisted Symbolic Model Checking for B and Event-B

We have implemented various symbolic model checking algorithms, like BMC, k-Induction and IC3 for B and Event-B.

May 2016 · Sebastian Krings, Michael Leuschel · In Proceedings ABZ 2016, Springer LNCS

Inferring Physical Units in Formal Models

Most state-based formal methods, like B, Event-B or Z, provide support for static typing.

May 2015 · Sebastian Krings, Michael Leuschel · In Software and Systems Modeling, Springer

From Animation to Data Validation: The ProB Constraint Solver 10 Years On

Various solvers are linked via reification and Prolog co-routines.

July 2014 · Michael Leuschel, Jens Bendisposto, Ivaylo Dobrikov, Sebastian Krings, Daniel Plagge · In Formal Methods Applied to Complex Systems: Implementation of the B Method

Who watches the watchers: Validating the ProB Validation Tool

Over the years, ProB has moved from a tool that complemented proving, to a development environment that is now sometimes used instead of proving for applications, such as exhaustive model checking or data validation.

April 2014 · Jens Bendisposto, Sebastian Krings, Michael Leuschel · In Proceedings F-IDE 2014, EPTCS

Inferring Physical Units in B Models

Most state-based formal methods, like B, Event-B or Z, provide support for static typing.

September 2013 · Sebastian Krings, Michael Leuschel · In Proceedings SEFM 2013, Springer LNCS