Rooting Formal Methods within Higher Education Curricula for Computer Science and Software Engineering

This white paper argues that formal methods need to be better rooted in higher education curricula for computer science and software engineering programmes of study.

October 2020 · Antonio Cerone, Markus Roggenbach, James Davenport, Casey Denner, Marie Farrell, Magne Haveraaen, Faron Moller, Philipp Körner, Sebastian Krings, Peter Olveczky, Bernd-Holger Schlingloff, Nikolay Shilov, Rustam Zhumagambetov · In Proceedings FMFun 2019

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

A Verified Low-Level Implementation of the Adaptive Exterior Light and Speed Control System

In this article, we present an approach to the ABZ 2020 case study, that differs from the ones usually presented at ABZ: Rather than using a (correct-by-construction) pproach following a formal method, we use MISRA C for a low-level implementation instead.

March 2020 · Sebastian Krings, Philipp Körner, Jannik Dunkelau, Chris Rutenkolk · In Proceedings ABZ 2020, Springer LNCS

Validation and Real-Life Demonstration of ETCS Hybrid Level 3 Principles Using a Formal B Model

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.

December 2019 · Dominik Hansen, Michael Leuschel, Philipp Körner, Sebastian Krings, Thomas Naulin, Nader Nayeri, David Schneider, Frank Skowron · In STTT, Springer

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

Inquiry- and Research-based Teaching in a Course on Model Checking

FMFun 2019, Bergen, Norway

December 2019 · Sebastian Krings · FMFun 2019

Prototyping Games using Formal Methods

FMFun 2019, Bergen, Norway

December 2019 · Sebastian Krings · FMFun 2019

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

Automated Backend Selection for ProB Using Deep Learning

Employing formal methods for software development usually involves using a multitude of tools such as model checkers and provers.

February 2019 · Jannik Dunkelau, Sebastian Krings, Joshua Schmidt · In Proceedings NFM 2019, 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

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

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

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

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

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