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

Writing a Model Checker in 80 Days: Reusable Libraries and Custom Implementation

During a course on model checking we developed BMoth, a full-stack model checker for classical B, featuring both explicit-state and symbolic model checking.

May 2018 · Jessica Petrasch, Jan-Hendrik Oepen, Sebastian Krings, Moritz Gericke · In Proceedings AVoCS 2018, Electronic Communications of the EASST

From Software Specifications to Constraint Programming

Non-deterministic specifications play a central role in the use of formal methods for software development.

April 2018 · Stefan Hallerstede, Miran Hasanagic, Sebastian Krings, Peter Gorm Larsen, Michael Leuschel · In Proceedings SEFM 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

Using a Formal B Model at Runtime in a Demonstration of the ETCS Hybrid Level 3 Concept with Real Trains

In this article, we present a concrete realisation of the ETCS Hybrid Level 3 concept, whose practical viability was evaluated in a field demonstration in 2017.

March 2018 · Dominik Hansen, Michael Leuschel, David Schneider, Sebastian Krings, Philipp Körner, Thomas Naulin, Nader Nayeri, Frank Skowron · In Proceedings ABZ 2018, Springer LNCS

Three is a crowd: SAT, SMT and CLP on a chessboard

Constraint solving technology for declarative formal models has made considerable progress in recent years, and has many applications such as animation of high-level specifications, test case generation, or symbolic model checking.

January 2018 · Sebastian Krings, Michael Leuschel, Philipp Körner, Stefan Hallerstede, Miran Hasanagic · In Proceedings PADL 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

Towards Infinite-State Symbolic Model Checking for B and Event-B

The idea of verifying the correctness of software has been brought up in the early days of computing, for example by Alan Turing in 1949 or Robert W.

August 2017 · Sebastian Krings · Dissertation submitted to the Heinrich-Heine-University Düsseldorf, Germany

Contraint Logic Programming over Infinite Domains with an Application to Proof

We present a CLP(FD)-based constraint solver able to deal with unbounded domains.

January 2017 · Sebastian Krings, Michael Leuschel · In Proceedings WLP 2016, EPTCS

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

Meta-Predicate for Rodin

Event-B provides a concise mathematical language for specifying invariants and guards.

May 2016 · Sebastian Krings · In Proceedings Rodin User and Developer Workshop 2016

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

Turning Failure into Proof: The ProB Disprover for B and Event-B

The ProB disprover uses constraint solving to find counter-examples for B proof obligations.

August 2015 · Sebastian Krings, Jens Bendisposto, Michael Leuschel · In Proceedings SEFM 2015, 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

Turning Failure into Proof: The ProB Disprover

Initially, the ProB disprover used constraint solving to try and find counterexamples to proof obligations generated from Event-B models.

July 2014 · Sebastian Krings · Poster presented at SAT / SMT Summer School 2014

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