Experience Report on a Student-Organized AI Course

As curricula are mostly centered around the specializations of faculty members, students are often seen purely as consumers of knowledge.

June 2022 · Sebastian Krings · In Proceedings ITiCSE 2022

Analyzing Security Aspects of Software Architectures

As the consequences of cyber attacks are becoming increasingly severe, ensuring the security of safety critical embedded software has become a necessity.

June 2022 · Sebastian Krings · In Proceedings EW 2022, Weka

Increasing Student Self-Reliance and Engagement in Model-Checking Courses

Courses on formal methods focus on two aspects: teaching formalisms and exemplary applications as well as teaching techniques for implementing tools such as model checkers.

September 2021 · Philipp Körner, Sebastian Krings · In Proceedings FMTea 2021, Springer LNCS

Testing, Model Checking and Static Analysis – Dream Team or Rivals?

Ensuring reliability and quality of software has become a necessity.

March 2021 · Sebastian Krings · In Proceedings EW 2021, Weka

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

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

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

In this presentation, we discuss a recent publication on our course on model checking.

November 2019 · Sebastian Krings, Philipp Körner, Joshua Schmidt · In Pre-Proceedings 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

Prolog Coding Guidelines: Status and Tool Support

The importance of coding guidelines is generally accepted throughout developers of every programming language.

July 2019 · Falco Nogatz, Philipp Körner, Sebastian Krings · In Technical Communications ICLP 2019, EPTCS

Towards Constraint Logic Programming over Strings for Test Data Generation

Software is notoriously hard to test.

July 2019 · Sebastian Krings, Joshua Schmidt, Patrick Skowronek, Jannik Dunkelau, Dierk Ehmke · Accepted for WLP 2019

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

Experience Report on An Inquiry-Based Course on Model Checking

The development and improvement of model checkers for the validation of hard- and software is an ongoing research topic in computer science.

January 2019 · Sebastian Krings, Philipp Körner, Joshua Schmidt · In Proceedings SEUH 2019, CEUR Workshop Proceedings

Measuring Code Coverage of Prolog Programs Using Mutation Testing

Testing is an important aspect in professional software development, both to avoid and identify bugs as well as to increase maintainability.

August 2018 · Alexandros Efremidis, Joshua Schmidt, Sebastian Krings, Philipp Körner · In Proceedings WFLP 2018, Springer LNCS