skip to main content
research-article

Information effects

Published:25 January 2012Publication History
Skip Abstract Section

Abstract

Computation is a physical process which, like all other physical processes, is fundamentally reversible. From the notion of type isomorphisms, we derive a typed, universal, and reversible computational model in which information is treated as a linear resource that can neither be duplicated nor erased. We use this model as a semantic foundation for computation and show that the "gap" between conventional irreversible computation and logically reversible computation can be captured by a type-and-effect system. Our type-and-effect system is structured as an arrow metalanguage that exposes creation and erasure of information as explicit effect operations. Irreversible computations arise from interactions with an implicit information environment, thus making them a derived notion, much like open systems in Physics. We sketch several applications which can benefit from an explicit treatment of information effects, such as quantitative information-flow security and differential privacy.

Skip Supplemental Material Section

Supplemental Material

popl_1b_3.mp4

References

  1. S. Abramsky. Retracing some paths in process algebra. In U. Montanari and V. Sassone, editors, CONCUR, volume 1119 of phLecture Notes in Computer Science, pages 1--17. Springer, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. S. Abramsky. A structural approach to reversible computation. Theor. Comput. Sci., 347: 441--464, December 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. Abramsky and R. Jagadeesan. New foundations for the geometry of interaction. Inf. Comput., 111: 53--119, May 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. A. Ahmed and M. Blume. Typed closure conversion preserves observational equivalence. In ICFP, pages 157--168. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. T. Altenkirch and J. Grattage. A functional quantum programming language. In P. Panangaden, editor, LICS, pages 249--258. IEEE Computer Society Press, June 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. H. G. Baker. NREVERSAL of fortune - the thermodynamics of garbage collection. In Proceedings of the International Workshop on Memory Management, pages 507--524. Springer-Verlag, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. C. H. Bennett. Logical reversibility of computation. IBM J. Res. Dev., 17: 525--532, November 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. W. J. Bowman, R. P. James, and A. Sabry. Dagger Traced Symmetric Monoidal Categories and Reversible Programming. In Workshop on Reversible Computation, 2011.Google ScholarGoogle Scholar
  9. L. Cardelli and G. Zavattaro. On the computational power of biochemistry. In Third International Conference on Algebraic Biology, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. Clark, S. Hunt, and P. Malacaria. A static analysis for quantifying information flow in a simple imperative language. J. Comput. Secur., 15: 321--371, August 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. D. Deutsch. The Fabric of Reality. Penguin, 1997.Google ScholarGoogle Scholar
  12. A. Di Pierro, C. Hankin, and H. Wiklicky. Reversible combinatory logic. MSCS, 16: 621--637, August 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. Duncan. Types for quantum computation. PhD thesis, Oxford University, 2006.Google ScholarGoogle Scholar
  14. C. Dwork. Differential privacy. In ICALP (2)'06, pages 1--12, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Fiore. Isomorphisms of generic recursive polynomial types. In POPL, pages 77--88. ACM, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. E. Fredkin and T. Toffoli. Conservative logic. International Journal of Theoretical Physics, 21 (3): 219--253, 1982.Google ScholarGoogle ScholarCross RefCross Ref
  17. D. R. Ghica. Geometry of synthesis: a structured approach to VLSI design. In POPL, pages 363--375. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J.-Y. Girard. Linear logic. Theor. Comput. Sci., 50: 1--102, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. R. Glück and M. Kawabe. Revisiting an automatic program inverter for Lisp. SIGPLAN Not., 40: 8--17, May 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. L. Hammond, M. Willey, and K. Olukotun. Data speculation support for a chip multiprocessor. In ASPLOS, pages 58--69, New York, NY, USA, 1998. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Hasegawa. Recursion from cyclic sharing: Traced monoidal categories and models of cyclic lambda calculi. In TLCA, pages 196--213. Springer-Verlag, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. Hatcliff and O. Danvy. A generic account of continuation-passing styles. In POPL, pages 458--471. ACM, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. L. Huelsbergen. A logically reversible evaluator for the call-by-name lambda calculus. InterJournal Complex Systems, 46, 1996.Google ScholarGoogle Scholar
  24. J. Hughes. Generalising monads to arrows. Sci. Comput. Program., 37 (1--3): 67--111, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. A. Joyal, R. Street, and D. Verity. Traced monoidal categories. Math. Proc. Camb. Philos. Soc., 119 (3): 447--468, 1996.Google ScholarGoogle ScholarCross RefCross Ref
  26. W. E. Kluge. A reversible SE(M)CD machine. In International Workshop on Implementation of Functional Languages, pages 95--113. Springer-Verlag, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Y. Lafont. The linear abstract machine. Theor. Comput. Sci., 59: 157--180, July 1988. ISSN 0304--3975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. R. Landauer. Irreversibility and heat generation in the computing process. IBM J. Res. Dev., 5: 183--191, July 1961. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. X. Ma, J. Huang, and F. Lombardi. A model for computing and energy dissipation of molecular QCA devices and circuits. J. Emerg. Technol. Comput. Syst., 3 (4): 1--30, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. E. Macii and M. Poncino. Exact computation of the entropy of a logic circuit. In Proceedings of the 6th Great Lakes Symposium on VLSI, Washington, DC, USA, 1996. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. I. Mackie. Reversible higher-order computations. In Workshop on Reversible Computation, 2011.Google ScholarGoogle Scholar
  32. P. Malacaria. Assessing security threats of looping constructs. In POPL, pages 225--235. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. J. L. Massey. Guessing and entropy. In Proceedings of the IEEE International Symposium on Information Theory, page 204, 1994.Google ScholarGoogle ScholarCross RefCross Ref
  34. A. B. Matos. Linear programs in a simple reversible language. Theor. Comput. Sci., 290: 2063--2074, January 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Y. Minamide, G. Morrisett, and R. Harper. Typed closure conversion. In POPL, pages 271--283, New York, NY, USA, 1996. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. E. Moggi. Notions of computation and monads. Inf. Comput., 93: 55--92, July 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. S.-C. Mu, Z. Hu, and M. Takeichi. An injective language for reversible computation. In International Conference on Mathematics of Program Construction, pages 289--313, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  38. P. O'hearn. On bunched typing. J. Funct. Program., 13: 747--796, July 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. A. D. Pierro, C. Hankin, and H. Wiklicky. Probabilistic lambda-calculus and quantitative program analysis. J. Log. Comput., 15 (2), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. J. Reed and B. C. Pierce. Distance makes the types grow stronger: a calculus for differential privacy. In ICFP, pages 157--168. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. B. J. Ross. Running programs backwards: The logical inversion of imperative computation. Formal Aspects of Computing, 9: 331--348, 1997.Google ScholarGoogle ScholarCross RefCross Ref
  42. A. Sabelfeld and A. Myers. Language-based information-flow security. IEEE Journal on Selected Areas in Communications, 21 (1): 5--19, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. P. Selinger and B. Valiron. A lambda calculus for quantum computation with classical control. MSCS, 16 (3): 527--552, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. T. Toffoli. Reversible computing. In Proceedings of the Colloquium on Automata, Languages and Programming, pages 632--644. Springer-Verlag, 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. A. van Tonder. A lambda calculus for quantum computation. SIAM Journal on Computing, 33 (5): 1109--1135, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. P. Wadler. Linear types can change the world! In M. Broy and C. Jones, editors, IFIP TC 2 Working Conference on Programming Concepts and Methods, pages 347--359. North Holland, 1990.Google ScholarGoogle Scholar
  47. }Yokoyama:2008:PRPT. Yokoyama, H. B. Axelsen, and R. Glück. Principles of a reversible programming language. In Conference on Computing Frontiers, pages 43--54. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. H. Zeng, C. S. Ellis, A. R. Lebeck, and A. Vahdat. Ecosystem: managing energy as a first class operating system resource. SIGPLAN Not., 37 (10): 123--132, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. P. Zuliani. Logical reversibility. IBM J. Res. Dev., 45: 807--818, November 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Information effects

        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 47, Issue 1
          POPL '12
          January 2012
          569 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/2103621
          Issue’s Table of Contents
          • cover image ACM Conferences
            POPL '12: Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
            January 2012
            602 pages
            ISBN:9781450310833
            DOI:10.1145/2103656

          Copyright © 2012 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 25 January 2012

          Check for updates

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!