dc.contributor.author |
Shao, Z |
en |
dc.contributor.author |
Trifonov, V |
en |
dc.contributor.author |
Saha, B |
en |
dc.contributor.author |
Papaspyrou, N |
en |
dc.date.accessioned |
2014-03-01T11:44:39Z |
|
dc.date.available |
2014-03-01T11:44:39Z |
|
dc.date.issued |
2005 |
en |
dc.identifier.issn |
0164-0925 |
en |
dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/37063 |
|
dc.subject |
Certified code |
en |
dc.subject |
Proof-preserving compilation |
en |
dc.subject |
Typed intermediate languages |
en |
dc.subject.classification |
Computer Science, Software Engineering |
en |
dc.subject.other |
Certified code |
en |
dc.subject.other |
Proof-preserving compilation |
en |
dc.subject.other |
Type systems |
en |
dc.subject.other |
Typed intermediate languages |
en |
dc.subject.other |
Computational linguistics |
en |
dc.subject.other |
Data structures |
en |
dc.subject.other |
Program assemblers |
en |
dc.subject.other |
Program compilers |
en |
dc.subject.other |
Query languages |
en |
dc.subject.other |
Theorem proving |
en |
dc.subject.other |
Binary codes |
en |
dc.title |
A type system for certified binaries |
en |
heal.type |
other |
en |
heal.identifier.primary |
10.1145/1053468.1053469 |
en |
heal.identifier.secondary |
http://dx.doi.org/10.1145/1053468.1053469 |
en |
heal.language |
English |
en |
heal.publicationDate |
2005 |
en |
heal.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 article, 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 typechecking. We show how to integrate an entire proof system (the calculus of inductive constructions) into a compiler intermediate language and how the intermediate language can undergo complex transformations (CPS and closure conversion) while preserving proofs represented in the type system. Our work provides a foundation for the process of automatically generating certified binaries in a type-theoretic framework. |
en |
heal.publisher |
ASSOC COMPUTING MACHINERY |
en |
heal.journalName |
ACM Transactions on Programming Languages and Systems |
en |
dc.identifier.doi |
10.1145/1053468.1053469 |
en |
dc.identifier.isi |
ISI:000226934000001 |
en |
dc.identifier.volume |
27 |
en |
dc.identifier.issue |
1 |
en |
dc.identifier.spage |
1 |
en |
dc.identifier.epage |
45 |
en |