Toward a foundational typed assembly language

We present the design of a typed assembly language called TALT that supports heterogeneous tuples, disjoint sums, and a general account of addressing modes. TALT also implements the von Neumann model in which programs are stored in memory, and supports relative addressing. Type safety for execution and for garbage collection are shown by machine-checkable proofs. TALT is the first formalized typed assembly language to provide any of these features.

[1]  Hans-Juergen Boehm,et al.  Garbage collection in an uncooperative environment , 1988, Softw. Pract. Exp..

[2]  Frank Pfenning,et al.  Mode and Termination Checking for Higher-Order Logic Programs , 1996, ESOP.

[3]  Frank Pfenning,et al.  Implementing the Meta-Theory of Deductive Systems , 1992, CADE.

[4]  Karl Crary,et al.  Type Structure for Low-Level Programming Languages , 1999, ICALP.

[5]  Craig A. Lee Proceedings of the Second International Workshop on Grid Computing , 2001 .

[6]  Joe B. Wells,et al.  Typability and Type Checking in System F are Equivalent and Undecidable , 1999, Ann. Pure Appl. Log..

[7]  Karl Crary,et al.  Toward a foundational typed assembly language , 2003, POPL '03.

[8]  George C. Necula,et al.  Oracle-based checking of untrusted software , 2001, POPL '01.

[9]  Dan Grossman,et al.  TALx86: A Realistic Typed Assembly Language∗ , 1999 .

[10]  David Walker,et al.  Alias Types , 2000, ESOP.

[11]  Andrew W. Appel,et al.  A semantic model of types and machine instructions for proof-carrying code , 2000, POPL '00.

[12]  Furio Honsell,et al.  A framework for defining logics , 1993, JACM.

[13]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[14]  David Walker,et al.  Stack-based typed assembly language , 2002, J. Funct. Program..

[15]  F. Pfenning Logic programming in the LF logical framework , 1991 .

[16]  Guillermo E. Herrera Automating the meta theory of deductive systems , 2000 .

[17]  Hans-Juergen Boehm Simple garbage-collector-safety , 1996, PLDI '96.

[18]  George C. Necula,et al.  A certifying compiler for Java , 2000, PLDI '00.

[19]  Zhong Shao,et al.  A Syntactic Approach to Foundational Proof-Carrying Code , 2004, Journal of Automated Reasoning.

[20]  Frank Pfenning,et al.  System Description: Twelf - A Meta-Logical Framework for Deductive Systems , 1999, CADE.

[21]  Frank Pfenning,et al.  Twelf User's Guide Version 1.2., , 1998 .

[22]  Robert Harper,et al.  A dependently typed assembly language , 2001, ICFP '01.

[23]  Andrew P. Tolmach,et al.  From ML to Ada: Strongly-typed language interoperability via source translation , 1998, Journal of Functional Programming.

[24]  Bor-Yuh Evan Chang,et al.  Trustless Grid Computing in ConCert , 2002, GRID.

[25]  Suresh Jagannathan,et al.  Flow-Directed Closure Conversion for Typed Languages , 2000, ESOP.