PLCRMay 4, 2021

Solo: A Lightweight Static Analysis for Differential Privacy

arXiv:2105.01632v27 citations
Originality Incremental advance
AI Analysis

This work addresses the adoption barrier for differential privacy enforcement in programming languages, offering a more accessible solution for developers, though it is incremental in improving type system design.

The paper tackles the problem of statically enforcing differential privacy in higher-order languages by proposing a new type system that avoids complex linear and relational refinement types, enabling easier embedding in mainstream languages like Scala, OCaml, and Haskell, with a soundness proof provided.

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. 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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes