Separate compilation allows the decomposition of programs into units that may be compiled separately, and linked into an executable. Traditionally, separate compilation was equivalent to the compilation of all units together, and modification and re-compilation of one unit required re-compilation of all importing units. Java suggests a more flexible framework, in which the linker checks the integrity of the binaries to be combined. Certain source code modifications, such as addition of methods to classes, are defined as binary compatible. The language description guarantees that binaries of types (i.e. classes or interfaces) modified in binary compatible ways may be re-compiled and linked with the binaries of types that imported and were co...
The object-oriented programming paradigm provides strong support for code re-use via inheritance mec...
A discontinuity exists between modeling and objectoriented programming languages. This discontinuity...
AbstractThe Java type system is strictly checked by both the compiler and the runtime bytecode inter...
Java binary compatibility prescribes conditions under which modification and re-compilation of class...
The Java language description is unusual in that it defines the effect of interleaving separate comp...
We propose a calculus describing compilation and linking in terms of operations on fragments, i.e. c...
We propose a calculus describing compilation and link-ing in terms of operations on fragments, i.e. ...
Real-world programs are neither monolithic nor static – they are con-structed using platform and thi...
There is an ongoing debate in the Java community on whether statically compiled implementations can ...
We present an operational semantics, type system, and a proof of type soundness for a substantial su...
In standard compilation of Java-like languages, the bytecode generated for a given source depends on...
We define compositional compilation as the ability to typecheck source code fragments in isolation, ...
Modern software systems are not built from scratch. They use functionality provided by libraries. Th...
In a recent work we have proposed a compilation strategy (that is, a way to decide which unchanged s...
. In Java's first year it has become clear that many of the problems posed by executable conten...
The object-oriented programming paradigm provides strong support for code re-use via inheritance mec...
A discontinuity exists between modeling and objectoriented programming languages. This discontinuity...
AbstractThe Java type system is strictly checked by both the compiler and the runtime bytecode inter...
Java binary compatibility prescribes conditions under which modification and re-compilation of class...
The Java language description is unusual in that it defines the effect of interleaving separate comp...
We propose a calculus describing compilation and linking in terms of operations on fragments, i.e. c...
We propose a calculus describing compilation and link-ing in terms of operations on fragments, i.e. ...
Real-world programs are neither monolithic nor static – they are con-structed using platform and thi...
There is an ongoing debate in the Java community on whether statically compiled implementations can ...
We present an operational semantics, type system, and a proof of type soundness for a substantial su...
In standard compilation of Java-like languages, the bytecode generated for a given source depends on...
We define compositional compilation as the ability to typecheck source code fragments in isolation, ...
Modern software systems are not built from scratch. They use functionality provided by libraries. Th...
In a recent work we have proposed a compilation strategy (that is, a way to decide which unchanged s...
. In Java's first year it has become clear that many of the problems posed by executable conten...
The object-oriented programming paradigm provides strong support for code re-use via inheritance mec...
A discontinuity exists between modeling and objectoriented programming languages. This discontinuity...
AbstractThe Java type system is strictly checked by both the compiler and the runtime bytecode inter...