Summary: Heap Bounded Assembly Language
David Aspinall (firstname.lastname@example.org)
LFCS, Division of Informatics, University of Edinburgh, King's Buildings,
Edinburgh EH9 3JZ, U. K.
Adriana Compagnoni (email@example.com)
Department of Computer Science, Stevens Institute of Technology, Castle Point on
Hudson, Hoboken, NJ 07030, U. S. A.
Abstract. We present a first-order linearly typed assembly language, HBAL, that
allows the safe reuse of heap space for elements of different types. Linear typing
ensures the single pointer property, disallowing aliasing, but allowing safe in-place-
update compilation of programming languages. We prove that HBAL is sound for a
low-level untyped model of the machine, using a satisfiability relation which captures
when a location correctly models a value of some type. This interpretation is closer
to the machine than previous abstract machines used for typed assembly language
models, and we separate typing of the store from an untyped operational semantics
of programs, as would be required for proof-carrying code.
Our ultimate aim is to design a family of assembly languages which have high-
level typing features which are used to express resource bound constraints. We want
to link up the assembly level with high-level languages expressing similar constraints,
to provide end-to-end guarantees, and a viable framework for proof-carrying code.