Extensible security architectures for Java
Proceedings of the sixteenth ACM symposium on Operating systems principles
Proper tail recursion and space efficiency
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Compiling standard ML to Java bytecodes
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Revised5 report on the algorithmic language scheme
ACM SIGPLAN Notices
Inside Java 2 platform security architecture, API design, and implementation
Inside Java 2 platform security architecture, API design, and implementation
Static enforcement of security with types
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
SAFKASI: a security mechanism for language-based systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Stack inspection: theory and variants
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Essential .NET: The Common Language Runtime
Essential .NET: The Common Language Runtime
An Operational Semantics of Java 2 Access Control
CSFW '00 Proceedings of the 13th IEEE workshop on Computer Security Foundations
ACM '77 Proceedings of the 1977 annual conference
IRM Enforcement of Java Stack Inspection
SP '00 Proceedings of the 2000 IEEE Symposium on Security and Privacy
Semantics and scoping of aspects in higher-order languages
Science of Computer Programming - Special issue: Foundations of aspect-oriented programming
Specializing continuations a model for dynamic join points
Proceedings of the 6th workshop on Foundations of aspect-oriented languages
A syntactic correspondence between context-sensitive calculi and abstract machines
Theoretical Computer Science
The design and implementation of a dataflow language for scriptable debugging
Automated Software Engineering
Reasoning about safety properties in a JVM-like environment
Science of Computer Programming
Adding delimited and composable control to a production programming environment
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Defunctionalized interpreters for programming languages
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
CHR for Imperative Host Languages
Constraint Handling Rules
Science of Computer Programming
Toward foundations for type-reflective metaprogramming
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Space-efficient gradual typing
Higher-Order and Symbolic Computation
Whalesong: running racket in the browser
Proceedings of the 9th symposium on Dynamic languages
Hi-index | 0.00 |
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.