Programs written in a typed language are guaranteed to satisfy the safety properties of the type system without runtime checks. A type system for an intermediate language allows static verification of safety properties independent of source languages, and opens up opportunities for advanced compiler optimizations. This paper surveys three major intermediate languages: Java bytecode, typed assembly language and proof-carrying code. Java bytecode requires minimal type annotation but sophisticated verification algorithms. Typed assembly language permits low-level constructs such as registers and instruction blocks, yet still enforces control- flow safety and memory safety. Proof-carrying code provides a general framework for any safety propert...
A certified binary is a value together with a proof that the value satisfies a given specification. ...
In this thesis I describe an extension to the Java language that supports type-safe dynamic code gen...
Traditionally, statically typed programming languages incorporate a built-in static type system. Thi...
Many kinds of networked devices receive and execute new programs from various sources. Since we may ...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
Amidst rocketing numbers of enthusiastic Java programmers and internet applet users, there is growin...
The objective of the lectures is to present type-based and logic-based mechanisms to ensure reliabil...
The design objectives and the mechanisms for achieving those objectives are considered for each of t...
1 Background A certifying compiler takes high-level source code and produces target code with a cert...
In the late 1990s, proof-carrying code was able to produce machine-checkable safety proofs for machi...
AbstractThis article presents a type certifying compiler for a subset of Java and proves the type co...
Abstract. Popular mobile code architectures (Java and.NET) include verifiers to check for memory saf...
Most of the software that we depend upon, including operating systems, communication stacks, file sy...
Abstract. Much recent work on proof-carrying code aims to build certifying compilers for single-inhe...
We propose a new type system for Java-like languages which allows compilation of a class in isolati...
A certified binary is a value together with a proof that the value satisfies a given specification. ...
In this thesis I describe an extension to the Java language that supports type-safe dynamic code gen...
Traditionally, statically typed programming languages incorporate a built-in static type system. Thi...
Many kinds of networked devices receive and execute new programs from various sources. Since we may ...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
Amidst rocketing numbers of enthusiastic Java programmers and internet applet users, there is growin...
The objective of the lectures is to present type-based and logic-based mechanisms to ensure reliabil...
The design objectives and the mechanisms for achieving those objectives are considered for each of t...
1 Background A certifying compiler takes high-level source code and produces target code with a cert...
In the late 1990s, proof-carrying code was able to produce machine-checkable safety proofs for machi...
AbstractThis article presents a type certifying compiler for a subset of Java and proves the type co...
Abstract. Popular mobile code architectures (Java and.NET) include verifiers to check for memory saf...
Most of the software that we depend upon, including operating systems, communication stacks, file sy...
Abstract. Much recent work on proof-carrying code aims to build certifying compilers for single-inhe...
We propose a new type system for Java-like languages which allows compilation of a class in isolati...
A certified binary is a value together with a proof that the value satisfies a given specification. ...
In this thesis I describe an extension to the Java language that supports type-safe dynamic code gen...
Traditionally, statically typed programming languages incorporate a built-in static type system. Thi...