Affiliation:
1. Princeton University, Princeton NJ
Abstract
Typed Assembly Languages (TALs) are used to validate the safety of machine-language programs. The Foundational Proof-Carrying Code project seeks to verify the soundness of TALs using the smallest possible set of axioms: the axioms of a suitably expressive logic plus a specification of machine semantics. This article proposes general semantic foundations that permit modular proofs of the soundness of TALs. These semantic foundations include Typed Machine Language (TML), a type theory for specifying properties of low-level data with powerful and orthogonal type constructors, and
L
c
, a compositional logic for specifying properties of machine instructions with simplified reasoning about unstructured control flow. Both of these components, whose semantics we specify using higher-order logic, are useful for proving the soundness of TALs. We demonstrate this by using TML and
L
c
to verify the soundness of a low-level, typed assembly language, LTAL, which is the target of our core-ML-to-sparc compiler.
To prove the soundness of the TML type system we have successfully applied a new approach, that of
step-indexed logical relations
. This approach provides the first semantic model for a type system with updatable references to values of impredicative quantified types. Both impredicative polymorphism and mutable references are essential when representing function closures in compilers with typed closure conversion, or when compiling objects to simpler typed primitives.
Funder
ARDA
Defense Advanced Research Projects Agency
National Science Foundation
Division of Computing and Communication Foundations
Publisher
Association for Computing Machinery (ACM)
Cited by
26 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A Logical Approach to Type Soundness;Journal of the ACM;2024-07-10
2. Deadlock-Free Separation Logic: Linearity Yields Progress for Dependent Higher-Order Message Passing;Proceedings of the ACM on Programming Languages;2024-01-05
3. Semantic Encapsulation using Linking Types;Proceedings of the 8th ACM SIGPLAN International Workshop on Type-Driven Development;2023-08-30
4. BFF: foundational and automated verification of bitfield-manipulating programs;Proceedings of the ACM on Programming Languages;2022-10-31
5. Later credits: resourceful reasoning for the later modality;Proceedings of the ACM on Programming Languages;2022-08-29