VERIPROB | A Deductive Verifier for Probabilistic Programs

Summary
Program correctness is a central problem in computer science. Code inspection and testing can reveal many program bugs, but subtle errors need a rigorous analysis. A fully automated analysis is impossible: deciding whether a program terminates on a given input is undecidable. Thanks to unremitting developments in program verification and incredible advancements in satisfiability checking, program verification is nowadays supported by software tools in industrial practice. Meta and Amazon Web Services use program verification tools on a daily basis.

In the advent of AI, probabilistic programming emerged as a popular paradigm combining programming with learning from (big) data. Since 2018, the UN uses such probabilistic programs to predict the location and classify seismological activities on the earth. Other application areas include security, planning in AI, cognitive science, and neural network training.

Probabilistic programs are fundamentally different. Due to randomness, they sometimes terminate and sometimes not. Their outcome depends on coin flips. They may terminate with probability one, while having an infinite expected run time. Classical program verification techniques no longer apply.

The ERC project FRAPPANT has resulted in proof calculi for probabilistic programs, equipped with powerful proof rules, and identified a relative complete syntax for quantitative properties. This has led to a prototypical deductive verifier for an “assembler” programming language. A software tool for which no equivalent exists. Successful analyses of intricate programs showed its potential. The proposed project aims to explore the commercial and innovative aspects of our deductive verifier. It takes the necessary innovative steps to enable a commercialisation by including invariant synthesis and program slicing and supporting the popular probabilistic programming language STAN. Its potential will be investigated engaging potential users, and a market analysis.
Unfold all
/
Fold all
More information & hyperlinks
Web resources: https://cordis.europa.eu/project/id/101158076
Start date: 01-11-2024
End date: 30-04-2026
Total budget - Public funding: - 150 000,00 Euro
Cordis data

Original description

Program correctness is a central problem in computer science. Code inspection and testing can reveal many program bugs, but subtle errors need a rigorous analysis. A fully automated analysis is impossible: deciding whether a program terminates on a given input is undecidable. Thanks to unremitting developments in program verification and incredible advancements in satisfiability checking, program verification is nowadays supported by software tools in industrial practice. Meta and Amazon Web Services use program verification tools on a daily basis.

In the advent of AI, probabilistic programming emerged as a popular paradigm combining programming with learning from (big) data. Since 2018, the UN uses such probabilistic programs to predict the location and classify seismological activities on the earth. Other application areas include security, planning in AI, cognitive science, and neural network training.

Probabilistic programs are fundamentally different. Due to randomness, they sometimes terminate and sometimes not. Their outcome depends on coin flips. They may terminate with probability one, while having an infinite expected run time. Classical program verification techniques no longer apply.

The ERC project FRAPPANT has resulted in proof calculi for probabilistic programs, equipped with powerful proof rules, and identified a relative complete syntax for quantitative properties. This has led to a prototypical deductive verifier for an “assembler” programming language. A software tool for which no equivalent exists. Successful analyses of intricate programs showed its potential. The proposed project aims to explore the commercial and innovative aspects of our deductive verifier. It takes the necessary innovative steps to enable a commercialisation by including invariant synthesis and program slicing and supporting the popular probabilistic programming language STAN. Its potential will be investigated engaging potential users, and a market analysis.

Status

SIGNED

Call topic

ERC-2023-POC

Update Date

12-03-2024
Images
No images available.
Geographical location(s)
Structured mapping
Unfold all
/
Fold all
Horizon Europe
HORIZON.1 Excellent Science
HORIZON.1.1 European Research Council (ERC)
HORIZON.1.1.0 Cross-cutting call topics
ERC-2023-POC ERC PROOF OF CONCEPT GRANTS
HORIZON.1.1.1 Frontier science
ERC-2023-POC ERC PROOF OF CONCEPT GRANTS