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 firstorder linearly typed assembly language, HBAL, that
allows the safe reuse of heap space for elements of di#erent types. Linear typing
ensures the single pointer property, disallowing aliasing, but allowing safe inplace
update compilation of programming languages. We prove that HBAL is sound for a
lowlevel 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 proofcarrying 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 highlevel languages expressing similar constraints,
to provide endtoend guarantees, and a viable framework for proofcarrying code.