There is a growing need to provide low-overhead software-based
protection mechanisms to protect against malicious or untrusted code.
Type-based approaches such as proof-carrying code and typed assembly
language provide this protection by relying on untrusted compilers to
certify the safety properties of machine language programs. Typed
Module Assembly Language (TMAL) is an extension of typed assembly
language with support for the type-safe manipulation of dynamically
linked libraries. A particularly important aspect of TMAL is its
support for shared libraries.