DocumentCode
2023381
Title
Certifying compilation for a language with stack allocation
Author
Jia, Limin ; Spalding, Frances ; Walker, David ; Glew, Neal
Author_Institution
Princeton Univ., NJ, USA
fYear
2005
fDate
26-29 June 2005
Firstpage
407
Lastpage
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.
Keywords
assembly language; formal logic; program compilers; storage management; tree data structures; MicroCLI; assembly-language type system; common language infrastructure; linear logic; stack allocation; tree data structures; Assembly systems; Automatic logic units; Computer science; Data structures; High level languages; Memory management; Safety; Shape; System testing; Utility programs;
fLanguage
English
Publisher
ieee
Conference_Titel
Logic in Computer Science, 2005. LICS 2005. Proceedings. 20th Annual IEEE Symposium on
ISSN
1043-6871
Print_ISBN
0-7695-2266-1
Type
conf
DOI
10.1109/LICS.2005.9
Filename
1509246
Link To Document