2005
DOI: 10.21236/ada436468
|View full text |Cite
|
Sign up to set email alerts
|

Precision in Practice: A Type-Preserving Java Compiler

Abstract: Abstract. Popular mobile code architectures (Java and .NET) include verifiers to check for memory safety and other security properties. Since their formats are relatively high level, supporting a wide range of source language features is awkward. Further compilation and optimization, necessary for efficiency, must be trusted. We describe the design and implementation of a fully type-preserving compiler for Java and ML. Its strongly-typed intermediate language provides a low-level abstract machine model and a t… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
3
0

Year Published

2005
2005
2008
2008

Publication Types

Select...
2

Relationship

0
2

Authors

Journals

citations
Cited by 2 publications
(3 citation statements)
references
References 16 publications
(23 reference statements)
0
3
0
Order By: Relevance
“…(ATHENA is a higher level language than C.) If there were a bug in either the VCGen or the typing rules then the trusted base would be vulnerable. In fact League [12] found an error in the typing rules of Special J [9], which is another certifying compiler that generates machine code from Java source code. Needless to say this bug affects the overall safety in type-specialized PCC.…”
Section: Discussion: Ensuring Correctness or Safetymentioning
confidence: 99%
“…(ATHENA is a higher level language than C.) If there were a bug in either the VCGen or the typing rules then the trusted base would be vulnerable. In fact League [12] found an error in the typing rules of Special J [9], which is another certifying compiler that generates machine code from Java source code. Needless to say this bug affects the overall safety in type-specialized PCC.…”
Section: Discussion: Ensuring Correctness or Safetymentioning
confidence: 99%
“…Singleton types provide another mechanism, and the design of TALs with more complicated dependent type systems has been investigated [XH01]. League et al [LST02,LST03] use existential types. A key difference of our work compared to the work mentioned above using typed-assembly or typed-intermediate languages is that we elide many more typing annotations using verification-time inference.…”
Section: Related Workmentioning
confidence: 99%
“…This was first observed as an unsoundness in the Touchstone certifying compiler for Java[CLN + 00] by Christopher League[LST03].…”
mentioning
confidence: 99%