Skip to main navigation Skip to search Skip to main content

Quantitative information flow with monads in Haskell

Jeremy Gibbons, Annabelle McIver, Carroll Morgan, Tom Schrijvers

Research output: Chapter in Book/Report/Conference proceedingChapterpeer-review

27 Downloads (Pure)

Abstract

Monads are a popular feature of the programming language Haskell because they can model many different notions of computation in a uniform and purely functional way. Our particular interest here is the probability monad, which can be -- and has been -- used to synthesise models for probabilistic programming. Quantitative Information Flow, or QIF, arises when security is combined with probability, and concerns the measurement of the amount of information that 'leaks' from a probabilistic program's state to a (usually) hostile observer: that is, not 'whether' leaks occur but rather 'how much?' Recently it has been shown that QIF can be seen monadically, a 'lifting' of the probability monad so that programs become functions from distributions to distributions of distributions: the codomain is 'hyper distributions'. Haskell's support for monads therefore suggests a synthesis of an executable model for QIF. Here, we provide the first systematic and thorough account of doing that: using distributions of distributions to synthesise a model for Quantitative Information Flow in terms of monads in Haskell.

Original languageEnglish
Title of host publicationFoundations of probabilistic programming
EditorsGilles Barthe, Joost-Pieter Katoen, Alexandra Silva
Place of PublicationCambridge, UK ; New York, US ; Port Melbourne, AU ; New Delhi, India ; Singapore
PublisherCambridge University Press (CUP)
Chapter12
Pages391-448
Number of pages58
ISBN (Electronic)9781108770750
ISBN (Print)9781108488518
DOIs
Publication statusPublished - 2021

Bibliographical note

Copyright the Editor(s) 2021. Version archived for private and non-commercial use with the permission of the author/s and according to publisher conditions. For further rights please contact the publisher.

Fingerprint

Dive into the research topics of 'Quantitative information flow with monads in Haskell'. Together they form a unique fingerprint.

Cite this