Abstract
Security folklore holds that a security mechanism based on stack inspection is incompatible with a global tail call optimization policy; that an implementation of such a language must allocate memory for a source-code tail call, and a program that uses only tail calls (and no other memory-allocating construct) may nevertheless exhaust the available memory. In this article, we prove this widely held belief wrong. We exhibit an abstract machine for a language with security stack inspection whose space consumption function is equivalent to that of the canonical tail call optimizing abstract machine. Our machine is surprisingly simple and suggests that tail calls are as easy to implement in a security setting as they are in a conventional one. © 2004 ACM.
Author supplied keywords
Cite
CITATION STYLE
Clements, J., & Felleisen, M. (2004). A tail-recursive machine with stack inspection. ACM Transactions on Programming Languages and Systems, 26(6), 1029–1052. https://doi.org/10.1145/1034774.1034778
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.