FRAPPANT

Key Info

Basic Information

Coordinator:
Portrait: Prof. Dr. Joost-Pieter Katoen © Stefan Hense
Prof. Dr. Joost-Pieter Katoen
Faculty / Institution:
Mathematics, Computer Science and Natural Sciences
Organizational Unit:
Computer Science 2 (Software Modeling and Verification)
Pillar:
Excellent Science
Project duration:
01.11.2018 to 31.10.2023
EU contribution:
2.491.250 euros
  EU flag and ERC logo This project has received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (Grant agreement No. 787914)  

Title

Formal Reasoning About Probabilistic Programs: Breaking New Ground for Automation

Concept

Probabilistic programs describe recipes on how to infer statistical conclusions about data from a complex mixture of uncertain data and real-world observations. They can represent probabilistic graphical models far beyond the capabilities of Bayesian networks and are expected to have a major impact on machine intelligence.

Probabilistic programs are ubiquitous. They steer autonomous robots and self-driving cars, are key to describe security mechanisms, naturally code up randomised algorithms for solving NP-hard problems, and are rapidly encroaching AI. Probabilistic programming aims to make probabilistic modeling and machine learning accessible to the programmer.

Probabilistic programs, though typically relatively small in size, are hard to grasp, let alone automatically checkable. Are they doing the right thing? What’s their precision? These questions are notoriously hard — even the most elementary question “does a program halt with probability one?” is “more undecidable” than the halting problem — and can (if at all) be answered with statistical evidence only. Bugs thus easily occur. Hard guarantees are called for. The objective of this project is to enable predictable probabilistic programming. We do so by developing formal verification techniques.

Whereas program correctness is pivotal in computer science, the formal verification of probabilistic programs is in its infancy. The project aims to fill this barren landscape by developing program analysis techniques, leveraging model checking, deductive verification, and static analysis. Challenging problems such as checking program equivalence, loop-invariant and parameter synthesis, program repair, program robustness and exact inference using weakest precondition reasoning will be tackled. The techniques will be evaluated in the context of probabilistic graphical models, randomised algorithms, and autonomous robots. FRAPPANT will spearhead formally verifiable probabilistic programming.