Solo: Enforcing Differential Privacy Without Fancy Types

05/04/2021
by   Chike Abuah, et al.
0

All current approaches for statically enforcing differential privacy in higher order languages make use of either linear or relational refinement types. A barrier to adoption for these approaches is the lack of support for expressing these "fancy types" in mainstream programming languages. For example, no mainstream language supports relational refinement types, and although Rust and modern versions of Haskell both employ some linear typing techniques, they are inadequate for embedding enforcement of differential privacy, which requires "full" linear types a la Girard/Reynolds. We propose a new type system that enforces differential privacy, avoids the use of linear and relational refinement types, and can be easily embedded in mainstream richly typed programming languages such as Scala, OCaml and Haskell. We demonstrate such an embedding in Haskell, demonstrate its expressiveness on case studies, and prove that our type-based enforcement of differential privacy is sound.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/21/2020

Contextual Linear Types for Differential Privacy

Language support for differentially-private programming is both crucial ...
research
03/16/2021

DDUO: General-Purpose Dynamic Analysis for Differential Privacy

Differential privacy enables general statistical analysis of data with f...
research
07/13/2018

Probabilistic Relational Reasoning via Metrics

The Fuzz programming language [Reed and Pierce, 2010] uses an elegant li...
research
07/13/2018

Metric Semantics for Probabilistic Relational Reasoning

The Fuzz programming language [Reed and Pierce, 2010] uses an elegant li...
research
09/10/2019

A Programming Framework for Differential Privacy with Accuracy Concentration Bounds

Differential privacy offers a formal framework for reasoning about priva...
research
03/30/2022

Towards Differential Relational Privacy and its use in Question Answering

Memorization of the relation between entities in a dataset can lead to p...
research
10/26/2017

Linear Haskell: practical linearity in a higher-order polymorphic language

Linear type systems have a long and storied history, but not a clear pat...

Please sign up or login with your details

Forgot password? Click here to reset