2001
DOI: 10.1145/504709.504712
|View full text |Cite
|
Sign up to set email alerts
|

An indexed model of recursive types for foundational proof-carrying code

Abstract: The proofs of "traditional" proof carrying code (PCC) are type-specialized in the sense that they require axioms about a specific type system. In contrast, the proofs of foundational PCC explicitly define all required types and explicitly prove all the required properties of those types assuming only a fixed foundation of mathematics such as higher-order logic. Foundational PCC is both more flexible and more secure than type-specialized PCC.For foundational PCC we need semantic models of type systems on von Ne… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

4
288
0

Year Published

2004
2004
2019
2019

Publication Types

Select...
7
1

Relationship

2
6

Authors

Journals

citations
Cited by 261 publications
(292 citation statements)
references
References 9 publications
4
288
0
Order By: Relevance
“…We could omit these rules if we do not need or want to distinguish divergence from getting stuck, and this is often done with big-step semantics. 2 However, for the purposes of this paper, we are primarily interested in the (many) situations where the distinction is important -that is where the functional big-step approach has the largest benefit.…”
Section: Relational Big-step Semanticsmentioning
confidence: 99%
See 1 more Smart Citation
“…We could omit these rules if we do not need or want to distinguish divergence from getting stuck, and this is often done with big-step semantics. 2 However, for the purposes of this paper, we are primarily interested in the (many) situations where the distinction is important -that is where the functional big-step approach has the largest benefit.…”
Section: Relational Big-step Semanticsmentioning
confidence: 99%
“…The technique of step-indexed logical relations [2] supports reasoning about programs that have recursive types, higher-order state, or other features that introduce aspects of circularity into a language's semantics [1,12]. The soundness of these relations is usually proved with respect to a small-step semantics, because the length of a small-step trace can be used to make the relation well-founded when following the structure of the language's cyclic constructs (e.g., when following a pointer cycle in the heap or unfolding a recursive type).…”
Section: Logical Relationsmentioning
confidence: 99%
“…If we wished to use these results to reason about Haskell implementations of gcast, we must extend our model to include more-in particular, general recursion and recursive types (Melliès & Vouillon, 2005;Johann & Voigtländer, 2004;Appel & McAllester, 2001;Ahmed, 2006b;Crary & Harper, 2007a). We believe that the techniques developed here are independent of those for advanced language features.…”
Section: Future Work and Conclusionmentioning
confidence: 99%
“…Appel and Felty [8] applied this idea to PCC and gave a semantic model to types and machine instructions in higher-order logic. In the following years, semantic models of types have been extended to include recursive types [9] and mutable references [10]. With these models, it is possible to reason locally about types and operations on values, but unfortunately no model has been provided to typing judgments such as Ψ; ∆; Γ jmp r and no method is provided to construct the safety proof for an entire program.…”
Section: A Foundational Approachmentioning
confidence: 99%
“…The material in these three sections has been described by other papers [11,6,9] as part of the foundational PCC project; we briefly sketch them to set up a framework within which our proof method can be formally presented in section 5.…”
Section: Model Of Talsmentioning
confidence: 99%