Typed memory management in a calculus of capabilities

K Crary, D Walker, G Morrisett - Proceedings of the 26th ACM SIGPLAN …, 1999 - dl.acm.org
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of …, 1999dl.acm.org
An increasing number of systems rely on programming language technology to ensure
safety and security of low-level code. Unfortunately, these systems typically rely on a
complex, trusted garbage collector. Region-based type systems provide an alternative to
garbage collection by making memory management explicit but verifiably safe. However, it
has not been clear how to use regions in low-level, type-safe code. We present a compiler
intermediate language, called the Capability Calculus, that supports region-based memory …
An increasing number of systems rely on programming language technology to ensure safety and security of low-level code. Unfortunately, these systems typically rely on a complex, trusted garbage collector. Region-based type systems provide an alternative to garbage collection by making memory management explicit but verifiably safe. However, it has not been clear how to use regions in low-level, type-safe code.We present a compiler intermediate language, called the Capability Calculus, that supports region-based memory management, enjoys a provably safe type system, and is straightforward to compile to a typed assembly language. Source languages may be compiled to our language using known region inference algorithms. Furthermore, region lifetimes need not be lexically scoped in our language, yet the language may be checked for safety without complex analyses. Finally, our soundness proof is relatively simple, employing only standard techniques.The central novelty is the use of static capabilities to specify the permissibility of various operations, such as memory access and deallocation. In order to ensure capabilities are relinquished properly, the type system tracks aliasing information using a form of bounded quantification.
ACM Digital Library
以上显示的是最相近的搜索结果。 查看全部搜索结果