2005
DOI: 10.1145/1053468.1053469
|View full text |Cite
|
Sign up to set email alerts
|

A type system for certified binaries

Abstract: A certified binary is a value together with a proof that the value satisfies a given specification. Existing compilers that generate certified code have focused on simple memory and control-flow safety rather than more advanced properties. In this paper, we present a general framework for explicitly representing complex propositions and proofs in typed intermediate and assembly languages. The new framework allows us to reason about certified programs that involve effects while still maintaining decidable typec… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
42
0

Year Published

2005
2005
2009
2009

Publication Types

Select...
4
2
1

Relationship

1
6

Authors

Journals

citations
Cited by 42 publications
(42 citation statements)
references
References 5 publications
0
42
0
Order By: Relevance
“…Our initial motivation came from several papers that justify advanced type systems, in particular GADTs, by embedded interpreters (Pašalić et al 2002;Peyton Jones et al 2006;Taha et al 2001;Xi et al 2003) and CPS transformations Guillemette and Monnier 2006;Shao et al 2005). We admire all this technical machinery, but these motivating examples do not need it.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Our initial motivation came from several papers that justify advanced type systems, in particular GADTs, by embedded interpreters (Pašalić et al 2002;Peyton Jones et al 2006;Taha et al 2001;Xi et al 2003) and CPS transformations Guillemette and Monnier 2006;Shao et al 2005). We admire all this technical machinery, but these motivating examples do not need it.…”
Section: Related Workmentioning
confidence: 99%
“…In contrast, our CPS transformations use simpler types than GADTs and assure type preservation at the (terminating) type level rather than the term level of the metalanguage. Guillemette and Monnier review other type-preserving CPS transformations (mainly in the context of typed intermediate languages), in particular Shao et al's (2005) and Chen and Xi's (2003). These approaches use de Bruijn indices and fancier type systems with type-level functions, GADTs, or type-equality proofs.…”
Section: Related Workmentioning
confidence: 99%
“…Following Shao et al [30], the type system of LITL is embedded in the Calculus of Inductive Constructions [12]. Our reliance on CIC permits flexible reasoning about the offsets of methods, which are now first-class values with singleton types constructed from natural numbers.…”
Section: Discussionmentioning
confidence: 99%
“…We adopt the 'certified binaries' framework of Shao et al e ::= x | n | e 1 + e 2 | λ x.e | e 1 e 2 | e 1 , ..., e n | e 1 @ e 2 | e 1 @ e 2 ← e 3 | e e 1 , ..., e n | {l 1 = e 1 , ..., l n = e n } | e # l [ 30], in which the types and proofs that govern computations are defined within the Calculus of Inductive Constructions [11,12]. Our language has the same primitive operators as Links, so it is an appropriate target for efficient, type-preserving compilation of various forms of inheritance, even when the base class is unknown at compile time.…”
Section: Motivationmentioning
confidence: 99%
“…Since method invocations are no longer atomic in JFlint, these optimizations readily lift and merge vtable accesses. A future version of the JFlint type system will even have support for optimizing array bounds checks [23].…”
Section: Introductionmentioning
confidence: 99%