An Assertion-Based Program Logic for Probabilistic Programs

Abstract : Research on deductive verification of probabilistic programs has considered expectation-based logics, where pre-and post-conditions are real-valued functions on states, and assertion-based logics, where pre-and post-conditions are boolean predicates on state distributions. Both approaches have developed over nearly four decades, but they have different standings today. Expectation-based systems have managed to formalize many sophisticated case studies, while assertion-based systems today have more limited expressivity and have targeted simpler examples. We present Ellora, a sound and relatively complete assertion-based program logic, and demonstrate its expressivity by verifying several classical examples of randomized algorithms using an implementation in the EasyCrypt proof assistant. Ellora features new proof rules for loops and adversarial code, and supports richer assertions than existing program logics. We also show that Ellora allows convenient reasoning about complex probabilistic concepts by developing a new program logic for probabilistic independence and distribution law, and then smoothly embedding it into Ellora. Our work demonstrates that the assertion-based approach is not fundamentally limited and suggests that some notions are potentially easier to reason about in assertion-based systems.
Document type :
Conference papers
Liste complète des métadonnées

Cited literature [20 references]  Display  Hide  Download

https://hal.archives-ouvertes.fr/hal-01959567
Contributor : Benjamin Gregoire <>
Submitted on : Sunday, December 23, 2018 - 10:42:02 AM
Last modification on : Wednesday, March 27, 2019 - 4:41:27 PM
Document(s) archivé(s) le : Sunday, March 24, 2019 - 12:18:08 PM

File

main.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01959567, version 1

Données associées

Citation

Gilles Barthe, Thomas Espitau, Marco Gaboardi, Benjamin Grégoire, Justin Hsu, et al.. An Assertion-Based Program Logic for Probabilistic Programs. Programming Languages and Systems - 27th European Symposium on Programming, 2018, Held as Part of the European Joint Conferences on Theory and Practice of Software, 2018, Thessaloniki, Greece, April 14-20, 2018, Proceedings, Apr 2018, Thessaloniki, Greece. pp.117-144. ⟨hal-01959567⟩

Share

Metrics

Record views

32

Files downloads

26