Certifying compilation for a language with stack allocation

Limin Jia, Frances Spalding, David P. Walker, Neal Glew

Research output: Chapter in Book/Report/Conference proceedingConference contribution

8 Scopus citations

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.

Original languageEnglish (US)
Title of host publicationProceedings - 20th Annual IEEE symposium on Logic in Computer Science, LICS 2005
Pages407-416
Number of pages10
DOIs
StatePublished - Oct 25 2005
Event20th Annual IEEE Symposium on Logic in Computer Science, LICS 2005 - Chicago, IL, United States
Duration: Jun 26 2005Jun 29 2005

Publication series

NameProceedings - Symposium on Logic in Computer Science
ISSN (Print)1043-6871

Other

Other20th Annual IEEE Symposium on Logic in Computer Science, LICS 2005
CountryUnited States
CityChicago, IL
Period6/26/056/29/05

All Science Journal Classification (ASJC) codes

  • Software
  • Mathematics(all)

Fingerprint Dive into the research topics of 'Certifying compilation for a language with stack allocation'. Together they form a unique fingerprint.

Cite this