|
1. |
Certifying compilation for a language with stack allocation
Jia, L.; Spalding, F.; Walker, D.; Glew, N.;
Logic in Computer Science, 2005. LICS 2005. Proceedings. 20th Annual IEEE Symposium on
26-29 June 2005
Page(s):407
-
416
Abstract:
This paper describes an assembly-language type system capable of ensuring memory safety in the presence of both heap and stack allocation. The type system uses linear logic and a set of domain-specific predicates to specify invariants about the shape of the store. Part of the model for our logic is a tree of "stack tags" that tracks the evolution of the stack over time. To demonstrate the expressiveness of the type system, we define Micro-CLI, a simple imperative language that captures the essence of stack allocation in the common language infrastructure. We show how to compile well-typed Micro-CLI into well-typed assembly.
|