Language support for differentially-private programming is both crucial and delicate. While elaborate program logics can be very expressive, type-system based approaches using linear types tend to be more lightweight and amenable to automatic checking and inference, and in particular in the presence of higher-order programming. Since the seminal design of Fuzz, which is restricted to $\epsilon$-differential privacy in its original design, significant progress has been made to support more advancedvariants of differential privacy, like($\epsilon$,$\delta$)-differential privacy. However, supporting these advanced privacy variants while also supporting higher-order programming in full has proven to be challenging. We present Jazz, a language and type system which uses linear types and latent contextual effects to support both advanced variants of differential privacy and higher-order programming. Latent contextual effects allow delaying the payment of effects for connectives such as products, sums and functions, yielding advantages in terms of precision of the analysis and annotation burden upon elimination, as well as modularity. We formalize the core of Jazz, prove it sound for privacy via a logical relation for metric preservation, and illustrate its expressive power through a number of case studies drawn from the recent differential privacy literature.
翻译:虽然精心拟订的方案逻辑可以非常直观,但使用线性类型的基于类型系统的方法往往比较轻轻,容易自动检查和推断,特别是在有更高层次的编程的情况下。自Fuzz的开创性设计以来,它最初的设计仅限于以美元为单位的隐私,最初的设计限于以美元为单位的隐私,因此在支持不同隐私(例如($\epsilon$,$\delta$)的不同隐私)的较先进变量方面取得了重大进展。然而,支持这些先进的隐私变体的同时,也支持更高级的隐私变体,同时全面支持更高级的编程已证明具有挑战性。我们介绍了Jazz,一种语言和类型系统,它使用线性类型和潜在背景效应来支持不同的隐私和更高顺序的先进变体。由于长期的环境影响,可以推迟对诸如产品、数量和功能等关联性连接性效应的付款,在分析的准确性和消除时加分辨负担以及模块性方面产生优势。我们正式确定Jazz的核心,通过逻辑性的权力关系,通过维护其隐私,通过明确的文献记录,从最新的隐私记录数字,证明它对于最新的隐私的精确性,从最新的隐私的精确度研究,通过测量记录记录,说明和清晰记录。</s>