Model Checking of Fault-tolerant Distributed Algorithms

Master Thesis Topics

  • Bounded Model Checking for Fault-tolerant Distributed Algorithms

Fault-tolerant distributed algorithms are not the ones that can be easily analysed with software model checkers. One reason for that is reach non-determinism exposed in system executions. The simplest example is a non-deterministic choice of an element from a set as written in the process code. Another example is the non-determinstic scheduling policy, that is, at each step the scheduler can pick an arbitrary process to continue the execution. Finally, when the faults come into play, they dramatically change executions in the system. Recently, we discovered a theoretically efficient way to apply bounded model checking to an important class of fault-tolerant algorithms. Our preliminary experiments showed that this technique allows us to verify the algorithms that were too large for the standard model checkers. We have many ideas of an efficient implementation of this technique. We believe that experimental results with such a tool may result in several publications at prestigious international conferences. To implement the tool, one should be familiar with (or willing to learn) SAT, SMT, and OCaml.

[Contact: Igor KonnovJosef Widder

  • An Interactive Spin (NuSMV) Debugger

    Model checkers usually support interactive model execution using either random simulation or simulation guided by a counterexample. This mode is designed as a backend to a sophisticated graphical user interface, which as a rule is postponed for a future implementation. Thus a user is left with a choice of debugging a model of a concurrent program (or of a distributed algorithm) mentally or with a help of an awkward interactive text interface. The goal of this work is to develop an interactive debugger for a well-known model checker like Spin on top of an established IDE, e.g. Eclipse. The debugger should support common features such as breakpoints, next step, run to a specified location, display of current variables, display of processes instruction counters. However, the debugger should support two more features that are not present in the traditional debuggers of sequential programs. These are a backward step of a model and a non-deterministic choice between several steps.

    [Contact: Igor Konnov, Josef Widder

  • A Translator of Distributed Algorithms to Spin (NuSMV, UPPAAL) with Support for User Provided Abstractions

    Currently, if one wants to verify or simulate a distributed algorithm in a model checker, e.g. Spin, NuSMV, UPPAAL, she has to perform all the translation from one description to another manually by choosing proper abstractions. Though some abstractions could be non-trivial and require human ingenuity, usually people start with a well-known set of techniques. Thus, there is a need in a translation tool that receives a distributed algorithm written in a fixed language on its input as well as a set of abstraction annotations and then translates the algorithm into the language of Spin (NuSMV, UPPAAL) by applying the abstractions. The goal of this work is to provide the distributed algorithms community with a tool that performs the first step of model extraction in an automatic way.

    [Contact: Igor Konnov, Josef Widder]

Latest News

WWTF ICT project awarded to Igor Konnov

Igor Konnov (PI), together with Josef Widder (co-PI) and Helmut Veith (core team), are awarded an ICT research project APALACHE “Abstraction-based Parameterized TLA Checker” by the Vienna Science and Technology Fund WWTF.

Continue reading

Austrian Computer Science Day 2015

The Austrian Computer Science Day 2015, which takes place on October 15, features a range of talks by leading Austrian computer scientists, including topics such as computer games, augmented reality, aware systems, semantic web, business processes, and reliable systems. Register for free by October 7, 2015! This year’s speakers are: Alois Ferscha (JKU Linz) Tom […]

Continue reading

Helmut Veith receives CAV Award

The 2015 CAV Award is given to Edmund Clarke, Orna Grumberg, Ron Hardin, Zvi Harel, Somesh Jha, Robert Kurshan, Yuan Lu, and Helmut Veith for the development and implementation of the localization-reduction technique and the formulation of counterexample-guided abstraction refinement (CEGAR).

Continue reading

Full news archive