Skip to main content

Trust in the λ-calculus

  • Contributed Papers
  • Conference paper
  • First Online:
Static Analysis (SAS 1995)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 983))

Included in the following conference series:

Abstract

This paper introduces trust analysis for higher-order languages. Trust analysis encourages the programmer to make explicit the trustworthiness of data, and in return it can guarantee that no mistakes with respect to trust will be made at run-time. We present a confluent λ-calculus with explicit trust operations, and we equip it with a trusttype system which has the subject reduction property. Trust information in presented as two annotations of each function type constructor, and type inference is computable in O(n3) time.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J.-P. Banâtre, C. Bryce, and D. L. Metayer. Compile-time detection of information flow in sequential programs. In D. Gollmann, editor, Computer Security — ESORICS 94, 3rd European Symp. on Research in Comp. Security, pages 55–73. Springer-Verlag (LNCS 875), 1994.

    Google Scholar 

  2. H. P. Barendregt. The Lambda Calculus: Its Syntax and Semantics. North-Holland, 1981.

    Google Scholar 

  3. G. L. Burn, C. Hankin, and S. Abramsky. Strictness analysis for higher-order functions. Sci. Comput. Programming, 7:249–278, 1986.

    Google Scholar 

  4. P. Cousot and R. Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Fourth ACM Symposium on Principles of Programming Languages, pages 238–252, 1977.

    Google Scholar 

  5. D. E. Denning and P. J. Denning. Certifications of programs for secure information flow. Commun. ACM, 20(7):504–512, July 1977.

    Google Scholar 

  6. T. Freeman and F. Pfenning. Refinement types for ML. In Proc. ACM SIGPLAN 1991 Conference on Programming Language Design and Implementation, 1991.

    Google Scholar 

  7. C. K. Gomard and N. D. Jones. A partial evaluator for the untyped lambdacalculus. Journal of Functional Programming, 1(1):21–69, 1991.

    Google Scholar 

  8. F. Henglein. Dynamic typing. In Proc. ESOP'92, European Symposium on Programming, pages 233–253. Springer-Verlag (LNCS 582), 1992.

    Google Scholar 

  9. F. Henglein and J. Jørgensen. Formally optimal boxing. In Proc. POPL'94, 21st Annual Symposium on Principles of Programming Languages, pages 213–226, 1994.

    Google Scholar 

  10. D. Kozen, J. Palsberg, and M. I. Schwartzbach. Efficient inference of partial types. J. Comput. Syst. Sci., 49(2):306–324, 1994. Also in Proc. FOCS'92, 33rd IEEE Symposium on Foundations of Computer Science, pages 363–371, Pittsburgh, Pennsylvania, October 1992.

    Google Scholar 

  11. T.-M. Kuo and P. Mishra. Strictness analysis: A new perspective based on type inference. In Proc. Conference on Functional Programming Languages and Computer Architecture, pages 260–272, 1989.

    Google Scholar 

  12. J. Mitchell. Coercion and type inference. In Eleventh Symposium on Principles of Programming Languages, pages 175–185, 1984.

    Google Scholar 

  13. M. Mizuno and D. Schmidt. A security flow control algorithm and its denotational semantics correctness proof. Technical Report TR-CS-90-21, Kansas State University, 1990.

    Google Scholar 

  14. P. Ørbæk. Can you trust your data? In P. D. Mosses, editor, Proc. TAPSOFT'95, Theory and Practice of Software Development, pages 575–590. Springer-Verlag (LNCS 915), 1995.

    Google Scholar 

  15. J. Palsberg. Efficient inference of object types. Information and Computation. To appear. Also in Proc. LICS'94, Ninth Annual IEEE Symposium on Logic in Computer Science, pages 186–195, Paris, France, July 1994.

    Google Scholar 

  16. J. Palsberg and P. Ørbaek. Trust in the λ-calculus. Technical Report BRICS RS-95-31, BRICS, Computer Science Department, Aarhus University, 1995. URL: http://www.daimi.aau.dk/BRICS.

    Google Scholar 

  17. J. Palsberg and M. I. Schwartzbach. Safety analysis versus type inference for partial types. Inf. Process. Lett., 43:175–180, 1992.

    Google Scholar 

  18. J. Palsberg and M. I. Schwartzbach. Safety analysis versus type inference. Information and Computation, 118(1):128–141, 1995.

    Google Scholar 

  19. J.-P. Talpin and P. Jouvelot. Polymorphic type, region and effect inference. Journal of Functional Programming, 2(3):245–271, 1992.

    Google Scholar 

  20. M. Wand. Type inference for record concatenation and multiple inheritance. Information and Computation, 93(1):1–15, 1991.

    Google Scholar 

  21. D. A. Wright. A new technique for strictness analysis. In Proc. TAPSOFT'91, pages 235–258. Springer-Verlag (LNCS 494), 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Alan Mycroft

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Palsberg, J., Ørb⇓ek, P. (1995). Trust in the λ-calculus. In: Mycroft, A. (eds) Static Analysis. SAS 1995. Lecture Notes in Computer Science, vol 983. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60360-3_47

Download citation

  • DOI: https://doi.org/10.1007/3-540-60360-3_47

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60360-3

  • Online ISBN: 978-3-540-45050-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics