Higher-Order Approximate Relational Refinement Types for Mechanism Design and Differential Privacy

Mechanism design is the study of algorithm design where the inputs to the algorithm are controlled by strategic agents, who must be incentivized to faithfully report them. Unlike typical programmatic properties, it is not sufficient for algorithms to merely satisfy the property, incentive properties are only useful if the strategic agents also believe this fact. Verification is an attractive way to convince agents that the incentive properties actually hold, but mechanism design poses several unique challenges: interesting properties can be sophisticated relational properties of probabilistic computations involving expected values, and mechanisms may rely on other probabilistic properties, like differential privacy, to achieve their goals. We introduce a relational refinement type system, called HOARe2, for verifying mechanism design and differential privacy. We show that HOARe2 is sound w.r.t. a denotational semantics, and correctly models (epsilon,delta)-differential privacy; moreover, we show that it subsumes DFuzz, an existing linear dependent type system for differential privacy. Finally, we develop an SMT-based implementation of HOARe2 and use it to verify challenging examples of mechanism design, including auctions and aggregative games, and new proposed examples from differential privacy.

[1]  Michèle Giry,et al.  A categorical approach to probability theory , 1982 .

[2]  Frank Pfenning,et al.  Refinement types for ML , 1991, PLDI '91.

[3]  Lennart Augustsson,et al.  Cayenne—a language with dependent types , 1998, ICFP '98.

[4]  Frank Pfenning,et al.  Dependent types in practical programming , 1999, POPL '99.

[5]  Noam Nisan,et al.  Algorithmic mechanism design (extended abstract) , 1999, STOC '99.

[6]  Frank Pfenning,et al.  Intersection types and computational effects , 2000, ICFP '00.

[7]  Norman Ramsey,et al.  Stochastic lambda calculus and monads of probability distributions , 2002, POPL '02.

[8]  Matthias Felleisen,et al.  Contracts for higher-order functions , 2002, ICFP '02.

[9]  Noam Nisan,et al.  Truthful approximation mechanisms for restricted combinatorial auctions , 2008, Games Econ. Behav..

[10]  Stochastic lambda calculus and monads of probability distributions , 2002, POPL.

[11]  Conor McBride,et al.  Epigram: Practical Programming with Dependent Types , 2004, Advanced Functional Programming.

[12]  Nick Benton,et al.  Simple relational correctness proofs for static analyses and program transformations , 2004, POPL.

[13]  Frank Pfenning,et al.  Tridirectional typechecking , 2004, POPL.

[14]  Sebastian Thrun,et al.  A probabilistic language based upon sampling functions , 2005, POPL '05.

[15]  Cynthia Dwork,et al.  Practical privacy: the SuLQ framework , 2005, PODS.

[16]  Cynthia Dwork,et al.  Differential Privacy , 2006, ICALP.

[17]  Stephen N. Freund,et al.  Sage: Hybrid Checking for Flexible Specifications , 2006 .

[18]  Anna R. Karlin,et al.  Competitive auctions , 2006, Games Econ. Behav..

[19]  Cynthia Dwork,et al.  Calibrating Noise to Sensitivity in Private Data Analysis , 2006, TCC.

[20]  Daniel A. Spielman,et al.  Spectral Graph Theory and its Applications , 2007, 48th Annual IEEE Symposium on Foundations of Computer Science (FOCS'07).

[21]  Kunal Talwar,et al.  Mechanism Design via Differential Privacy , 2007, 48th Annual IEEE Symposium on Foundations of Computer Science (FOCS'07).

[22]  Patrick Maxim Rondon,et al.  Liquid types , 2008, PLDI '08.

[23]  Ron Lavi,et al.  Algorithmic Mechanism Design , 2008, Encyclopedia of Algorithms.

[24]  Maria-Florina Balcan,et al.  Reducing mechanism design to algorithm design via machine learning , 2007, J. Comput. Syst. Sci..

[25]  Cynthia Dwork,et al.  Differential Privacy: A Survey of Results , 2008, TAMC.

[26]  Andrew D. Gordon,et al.  Proceedings of the 21st IEEE Computer Security Foundations Symposium, CSF 2008, Pittsburgh, Pennsylvania, USA, 23-25 June 2008 , 2008, CSF.

[27]  Andrew D. Gordon,et al.  Refinement Types for Secure Implementations , 2008, 2008 21st IEEE Computer Security Foundations Symposium.

[28]  Frank McSherry,et al.  Privacy integrated queries: an extensible platform for privacy-preserving data analysis , 2009, SIGMOD Conference.

[29]  Philip Wadler,et al.  Well-Typed Programs Can't Be Blamed , 2009, ESOP.

[30]  Shahar Dobzinski,et al.  On the Power of Randomization in Algorithmic Mechanism Design , 2009, 2009 50th Annual IEEE Symposium on Foundations of Computer Science.

[31]  Chung-chieh Shan,et al.  Embedded Probabilistic Programming , 2009, DSL.

[32]  Tim Roughgarden,et al.  Black-Box Randomized Reductions in Algorithmic Mechanism Design , 2010, 2010 IEEE 51st Annual Symposium on Foundations of Computer Science.

[33]  Vitaly Shmatikov,et al.  Airavat: Security and Privacy for MapReduce , 2010, NSDI.

[34]  Tim Roughgarden,et al.  Algorithmic Game Theory , 2007 .

[35]  Benjamin C. Pierce,et al.  Distance makes the types grow stronger: a calculus for differential privacy , 2010, ICFP '10.

[36]  Benjamin C. Pierce,et al.  Contracts made manifest , 2010, POPL '10.

[37]  Frank McSherry Privacy integrated queries , 2010, Commun. ACM.

[38]  Juan Chen,et al.  Secure distributed programming with value-dependent types , 2011, Journal of Functional Programming.

[39]  Elaine Shi,et al.  Private and Continual Release of Statistics , 2010, TSEC.

[40]  C.-H. Luke Ong,et al.  Verifying higher-order functional programs with pattern-matching algebraic data types , 2011, POPL '11.

[41]  Nicole Immorlica,et al.  On the limits of black-box reductions in mechanism design , 2012, STOC '12.

[42]  Edwin Brady,et al.  Idris, a general-purpose dependently typed programming language: Design and implementation , 2013, Journal of Functional Programming.

[43]  Gilles Barthe,et al.  Probabilistic Relational Reasoning for Differential Privacy , 2012, TOPL.

[44]  Aaron Roth,et al.  Privacy and mechanism design , 2013, SECO.

[45]  Simon L. Peyton Jones,et al.  HALO: haskell to logic through denotational semantics , 2013, POPL.

[46]  Noah D. Goodman The principles and practice of probabilistic programming , 2013, POPL.

[47]  Andreas Haeberlen,et al.  Linear dependent types for differential privacy , 2013, POPL.

[48]  Marco Gaboardi,et al.  Dual Query: Practical Private Query Release for High Dimensional Data , 2014, ICML.

[49]  Benjamin Grégoire,et al.  Probabilistic relational verification for cryptographic implementations , 2014, POPL.

[50]  Kathryn S. McKinley,et al.  Uncertain: a first-order type for uncertain data , 2014, ASPLOS.

[51]  Michael Hicks,et al.  Polymonadic Programming , 2014, MSFP.

[52]  Stephanie Weirich,et al.  Combining proofs and programs in a dependently typed language , 2014, POPL.

[53]  Ilya Segal,et al.  Deferred-acceptance auctions and radio spectrum reallocation , 2014, EC.

[54]  Thomas A. Henzinger,et al.  Probabilistic programming , 2014, FOSE.

[55]  Ranjit Jhala,et al.  Refinement types for Haskell , 2014, ICFP.

[56]  Shuchi Chawla,et al.  Bayesian algorithmic mechanism design , 2014, SECO.

[57]  Ye Fang computer-aided mechanism design , 2015 .

[58]  Aaron Roth,et al.  Privacy and Truthful Equilibrium Selection for Aggregative Games , 2014, WINE.