@inproceedings{e44505ddc68c47eba76919b599377363,
title = "Certifying compilation for a language with stack allocation",
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 welltyped Micro-CLI into well-typed assembly.",
author = "Limin Jia and Frances Spalding and David Walker and Neal Glew",
year = "2005",
doi = "10.1109/LICS.2005.9",
language = "English (US)",
isbn = "0769522661",
series = "Proceedings - Symposium on Logic in Computer Science",
pages = "407--416",
booktitle = "Proceedings - 20th Annual IEEE symposium on Logic in Computer Science, LICS 2005",
note = "20th Annual IEEE Symposium on Logic in Computer Science, LICS 2005 ; Conference date: 26-06-2005 Through 29-06-2005",
}