Back to Search Start Over

Proving Differential Privacy with Shadow Execution

Authors :
Wang, Yuxin
Ding, Zeyu
Wang, Guanhong
Kifer, Daniel
Zhang, Danfeng
Source :
PLDI 2019 Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation. Pages 655-669
Publication Year :
2019

Abstract

Recent work on formal verification of differential privacy shows a trend toward usability and expressiveness -- generating a correctness proof of sophisticated algorithm while minimizing the annotation burden on programmers. Sometimes, combining those two requires substantial changes to program logics: one recent paper is able to verify Report Noisy Max automatically, but it involves a complex verification system using customized program logics and verifiers. In this paper, we propose a new proof technique, called shadow execution, and embed it into a language called ShadowDP. ShadowDP uses shadow execution to generate proofs of differential privacy with very few programmer annotations and without relying on customized logics and verifiers. In addition to verifying Report Noisy Max, we show that it can verify a new variant of Sparse Vector that reports the gap between some noisy query answers and the noisy threshold. Moreover, ShadowDP reduces the complexity of verification: for all of the algorithms we have evaluated, type checking and verification in total takes at most 3 seconds, while prior work takes minutes on the same algorithms.<br />Comment: 23 pages, 12 figures, PLDI'19

Details

Database :
arXiv
Journal :
PLDI 2019 Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation. Pages 655-669
Publication Type :
Report
Accession number :
edsarx.1903.12254
Document Type :
Working Paper
Full Text :
https://doi.org/10.1145/3314221.3314619