skip to main content
research-article

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

Published:14 January 2015Publication History
Skip Abstract Section

Abstract

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.

Skip Supplemental Material Section

Supplemental Material

p55-sidebyside.mpg

mpg

1.6 GB

References

  1. L. Augustsson. Cayenne -- a language with dependent types. In ACM SIGPLAN International Conference on Functional Programming (ICFP), Baltimore, Maryland, pages 239--250, 1998. URL http://link.springer.com/chapter/10.1007%2F10704973_6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M.-F. Balcan, A. Blum, J. D. Hartline, and Y. Mansour. Reducing mechanism design to algorithm design via machine learning. Journal of Computer and System Sciences, 74 (8): 1245--1270, 2008. URL http://www.cs.cmu.edu/ ninamf/papers/ml_md_bbhm.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. G. Barthe, B. Köpf, F. Olmedo, and S. Zanella-Béguelin. Probabilistic relational reasoning for differential privacy. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), Philadelphia, Pennsylvania, pages 97--110, 2012. URL http://certicrypt.gforge.inria.fr/2012.POPL.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. G. Barthe, C. Fournet, B. Grégoire, P.-Y. Strub, N. Swamy, and S. Zanella-Béguelin. Probabilistic relational verification for cryptographic implementations. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), San Diego, California, pages 193--206, 2014. URL http://research.microsoft.com/en-us/um/people/nswamy/papers/rfstar.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. Bengtson, K. Bhargavan, C. Fournet, A. D. Gordon, and S. Maffeis. Refinement types for secure implementations. In IEEE Computer Security Foundations Symposium, Pittsburgh, Pennsylvania, 2008. URL http://prosecco.gforge.inria.fr/personal/karthik/pubs/refinement-types-for-secure-implementations-proceedings-csf08.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. N. Benton. Simple relational correctness proofs for static analyses and program transformations. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), Venice, Italy, pages 14--25, 2004. URL http://research.microsoft.com/en-us/um/people/nick/correctnessfull.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. A. Blum, C. Dwork, F. McSherry, and K. Nissim. Practical privacy: the SuLQ framework. In ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (PODS), Baltimore, Maryland, pages 128--138, 2005. URL http://research.microsoft.com/pubs/64351/bdmn.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. J. Bornholt, T. Mytkowicz, and K. S. McKinley. Uncertain$łanglet\rangle: A first-order type for uncertain data. In Asian Symposium on Programming Languages and Systems (APLAS), Salt Lake City, Utah, 2014. URL http://research.microsoft.com/pubs/208236/asplos077-bornholtA.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. E. Brady. Idris, a general-purpose dependently typed programming language: Design and implementation. Journal of Functional Programming, 23 (5): 552--593, 2013. URL http://eb.host.cs.st-andrews.ac.uk/drafts/impldtp.pdf.Google ScholarGoogle ScholarCross RefCross Ref
  10. C. Casinghino, V. Sjöberg, and S. Weirich. Combining proofs and programs in a dependently typed langauge. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), San Diego, California, 2014. URL http://www.seas.upenn.edu/ ccasin/papers/combining-TR.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. T.-H. H. Chan, E. Shi, and D. Song. Private and continual release of statistics. ACM Transactions on Information and System Security, 14 (3): 26, 2011. URL http://eprint.iacr.org/2010/076.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. S. Chawla, N. Immorlica, and B. Lucier. On the limits of black-box reductions in mechanism design. In ACM SIGACT Symposium on Theory of Computing (STOC), New York, New York, 2012. URL http://arxiv.org/abs/1109.2067. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. Cummings, M. Kearns, A. Roth, and Z. S. Wu. Privacy and truthful equilibrium selection for aggregative games. Technical report, 2014. URL http://arxiv.org/abs/1407.7740.Google ScholarGoogle Scholar
  14. R. Davies and F. Pfenning. Intersection types and computational effects. In ACM SIGPLAN International Conference on Functional Programming (ICFP), Montréal, Québec, pages 198--208, 2000. URL http://www.cs.cmu.edu/ fp/papers/icfp00.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Dobzinski and S. Dughmi. On the power of randomization in algorithmic mechanism design. In IEEE Symposium on Foundations of Computer Science (FOCS), Atlanta, Georgia, pages 505--514. URL http://arxiv.org/abs/0904.4193. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. Dughmi and T. Roughgarden. Black-box randomized reductions in algorithmic mechanism design. SIAM Journal on Computing, 43 (1): 312--336, 2014. URL http://theory.stanford.edu/ tim/papers/blackbox.pdf.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. Dunfield and F. Pfenning. Tridirectional typechecking. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), Venice, Italy, pages 281--292. URL http://www.cs.cmu.edu/ joshuad/papers/tridirectional-typechecking/Dunfield04_tridirectional.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. C. Dwork. Differential privacy. In International Colloquium on Automata, Languages and Programming (ICALP), Venice, Italy, pages 1--12, 2006. URL http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.83.7534&rep=rep1&type=pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. C. Dwork. Differential privacy: A survey of results. In Theory and Applications of Models of Computation (TAMC), Xi'an, China, volume 4978 of LNCS, pages 1--19. Springer Berlin Heidelberg, 2008. URL http://research.microsoft.com/apps/pubs/default.aspx?id=74339. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. C. Dwork, F. McSherry, K. Nissim, and A. Smith. Calibrating noise to sensitivity in private data analysis. In IACR Theory of Cryptography Conference (TCC), New York, New York, pages 265--284, 2006. URL http://dx.doi.org/10.1007/11681878_14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Y. Fang, S. Chaudhuri, and M. Vardi. Computer-aided mechanism design, 2014. Poster at POPL'14.Google ScholarGoogle Scholar
  22. R. B. Findler and M. Felleisen. Contracts for higher-order functions. In ACM SIGPLAN International Conference on Functional Programming (ICFP), Pittsburgh, Pennsylvania, pages 48--59, 2002. URL http://www.eecs.northwestern.edu/ robby/pubs/papers/ho-contracts-techreport.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. T. Freeman and F. Pfenning. Refinement types for ML. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Toronto, Ontario, pages 268--277, 1991. URL https://www.cs.cmu.edu/ fp/papers/pldi91.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. M. Gaboardi, A. Haeberlen, J. Hsu, A. Narayan, and B. C. Pierce. Linear dependent types for differential privacy. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), Rome, Italy, pages 357--370, 2013. URL http://dl.acm.org/citation.cfm?id=2429113. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. M. Gaboardi, E. J. Gallego Arias, J. Hsu, A. Roth, and Z. S. Wu. Dual query: Practical private query release for high dimensional data. In International Conference on Machine Learning (ICML), Beijing, China, 2014. URL http://arxiv.org/abs/1402.1526.Google ScholarGoogle Scholar
  26. M. Giry. A categorical approach to probability theory. Categorical Aspects of Topology and Analysis, pages 68--85, 1982.Google ScholarGoogle ScholarCross RefCross Ref
  27. A. V. Goldberg, J. D. Hartline, A. R. Karlin, M. Saks, and A. Wright. Competitive auctions. Games and Economic Behavior, 55 (2), 2006. URL http://www.ime.usp.br/ yw/papers/games/goldberg2008-competitive-auctions.pdf.Google ScholarGoogle Scholar
  28. N. D. Goodman. The principles and practice of probabilistic programming. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), Rome, Italy, pages 399--402, 2013. URL https://web.stanford.edu/ ngoodman/papers/POPL2013-abstract.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. A. D. Gordon, T. A. Henzinger, A. V. Nori, and S. K. Rajamani. Probabilistic programming. In International Conference on Software Engineering (ICSE), Hyderabad, India, pages 167--181, 2014. URL http://research.microsoft.com/pubs/208585/fose-icse2014.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. M. Greenberg, B. C. Pierce, and S. Weirich. Contracts made manifest. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), Madrid, Spain, pages 353--364, 2010. URL http://www.cis.upenn.edu/ bcpierce/papers/contracts-popl.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. J. Gronski, K. Knowles, A. Tomb, S. N. Freund, and C. Flanagan. Sage: Hybrid checking for flexible specifications. In Scheme and Functional Programming Workshop, pages 93--104, 2006. URL http://galois.com/wp-content/uploads/2014/07/pub_AT_SAGEHybridChecking.pdf.Google ScholarGoogle Scholar
  32. J. D. Hartline and B. Lucier. Bayesian algorithmic mechanism design. In ACM SIGACT Symposium on Theory of Computing (STOC), Cambridge, Massachusetts, pages 301--310, 2010. URL http://arxiv.org/abs/0909.4756. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. M. Hicks, G. Bierman, N. Guts, D. Leijen, and N. Swamy. Polymonadic programming. In Workshop on the Mathematical Foundations of Programming Semantics (MFPS), Ithaca, New York, 2014. URL http://arxiv.org/abs/1406.2060.Google ScholarGoogle ScholarCross RefCross Ref
  34. ng-Chieh Shan(2009)}Kiselyov:2009O. Kiselyov and Chung-Chieh Shan. Embedded probabilistic programming. In DSL, pages 360--384, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. A. Lapets, A. Levin, and D. Parkes. A Typed Truthful Language for One-dimensional Truthful Mechanism Design. Technical Report BUCS-TR-2008--026, 2008. URL http://cs-people.bu.edu/lapets/resource/typed-ec-mech.pdf.Google ScholarGoogle Scholar
  36. Bride(2005)}epigramC. McBride. Epigram: Practical programming with dependent types. In Advanced Functional Programming, pages 130--170. Springer, 2005. URL http://cs.ru.nl/ freek/courses/tt-2010/tvftl/epigram-notes.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. 009)}mcsherry.pinq09F. McSherry. Privacy integrated queries. In ACM SIGMOD International Conference on Management of Data (SIGMOD), Providence, Rhode Island, 2009. URL http://research.microsoft.com/pubs/80218/sigmod115-mcsherry.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. F. McSherry and K. Talwar. Mechanism design via differential privacy. In IEEE Symposium on Foundations of Computer Science (FOCS), Providence, Rhode Island, pages 94--103, 2007. URL http://doi.ieeecomputersociety.org/10.1109/FOCS.2007.41. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. P. Milgrom and I. Segal. Deferred-acceptance auctions and radio spectrum reallocation. In ACM SIGecom Conference on Economics and Computation (EC), Palo Alto, California, pages 185--186, 2014. URL http://web.stanford.edu/ isegal/heuristic.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. m and Nisan(2008)}mu2008truthfulA. Mu'Alem and N. Nisan. Truthful approximation mechanisms for restricted combinatorial auctions. Games and Economic Behavior, 64 (2): 612--631, 2008. URL http://authors.library.caltech.edu/13158/1/MUAgeb08preprint.pdf.Google ScholarGoogle Scholar
  41. N. Nisan and A. Ronen. Algorithmic mechanism design. In ACM SIGACT Symposium on Theory of Computing (STOC), Atlanta, Georgia, pages 129--140, 1999. URL http://www.cs.yale.edu/homes/jf/nisan-ronen.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. N. Nisan, T. Roughgarden, E. Tardos, and V. V. Vazirani. Algorithmic game theory. Cambridge University Press, 2007. Google ScholarGoogle ScholarCross RefCross Ref
  43. C.-H. L. Ong and S. J. Ramsay. Verifying higher-order functional programs with pattern-matching algebraic data types. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), Austin, Texas, volume 46, pages 587--598, 2011. URL https://www.cs.ox.ac.uk/files/3721/main.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. M. M. Pai and A. Roth. Privacy and mechanism design. ACM SIGecom Exchanges, 12 (1): 8--29, 2013. URL http://www.cis.upenn.edu/ aaroth/Papers/PrivacyMDSurvey.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. S. Park, F. Pfenning, and S. Thrun. A probabilistic language based upon sampling functions. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), Long Beach, California, pages 171--182, 2005. URL https://www.cs.cmu.edu/ fp/papers/popl05.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. B. C. Pierce. Differential privacy in the programming languages community, 2012. Invited tutorial at DIMACS Workshop on Recent Work on Differential Privacy across Computer Science.Google ScholarGoogle Scholar
  47. N. Ramsey and A. Pfeffer. Stochastic lambda calculus and monads of probability distributions. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), Portland, Oregon, pages 154--165, 2002. URL http://www.cs.tufts.edu/ nr/pubs/pmonad.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. J. Reed and B. C. Pierce. Distance makes the types grow stronger: A calculus for differential privacy. In ACM SIGPLAN International Conference on Functional Programming (ICFP), Baltimore, Maryland, 2010. URL http://dl.acm.org/citation.cfm?id=1863568. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. P. M. Rondon, M. Kawaguci, and R. Jhala. Liquid types. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Tucson, Arizona, pages 159--169, 2008. URL http://goto.ucsd.edu/ rjhala/papers/liquid_types.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. I. Roy, S. Setty, A. Kilzer, V. Shmatikov, and E. Witchel. Airavat: Security and privacy for MapReduce. In USENIX Symposium on Networked Systems Design and Implementation (NDSI), San Jose, California, 2010. URL http://dl.acm.org/citation.cfm?id=1855731. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. N. Swamy, J. Chen, C. Fournet, P.-Y. Strub, K. Bhargavan, and J. Yang. Secure distributed programming with value-dependent types. In ACM SIGPLAN International Conference on Functional Programming (ICFP), Tokyo, Japan, 2011. URL http://research.microsoft.com/pubs/150012/icfp-camera-ready.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Vazou, E. L. Seidel, R. Jhala, D. Vytiniotis, and S. Peyton Jones. Refinement Types for Haskell. In ACM SIGPLAN International Conference on Functional Programming (ICFP), Gothenburg, Sweden, 2014. URL http://goto.ucsd.edu/ nvazou/refinement_types_for_haskell.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. . Vytiniotis, S. Peyton Jones, K. Claessen, and D. Rosén. Halo: Haskell to logic through denotational semantics. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), Rome, Italy, 2013. URL http://research.microsoft.com/en-us/people/dimitris/hcc-popl.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. P. Wadler and R. B. Findler. Well-typed programs can't be blamed. In European Symposium on Programming (ESOP), York, England, pages 1--16, 2009. URL http://homepages.inf.ed.ac.uk/wadler/papers/blame/blame.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. H. Xi and F. Pfenning. Dependent types in practical programming. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), San Antonio, Texas, pages 214--227, 1999. URL http://www.cs.cmu.edu/ fp/papers/popl99.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

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

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in

                Full Access

                • Published in

                  cover image ACM SIGPLAN Notices
                  ACM SIGPLAN Notices  Volume 50, Issue 1
                  POPL '15
                  January 2015
                  682 pages
                  ISSN:0362-1340
                  EISSN:1558-1160
                  DOI:10.1145/2775051
                  • Editor:
                  • Andy Gill
                  Issue’s Table of Contents
                  • cover image ACM Conferences
                    POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
                    January 2015
                    716 pages
                    ISBN:9781450333009
                    DOI:10.1145/2676726

                  Copyright © 2015 ACM

                  Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

                  Publisher

                  Association for Computing Machinery

                  New York, NY, United States

                  Publication History

                  • Published: 14 January 2015

                  Check for updates

                  Qualifiers

                  • research-article

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader