Next article

Stronger Typings for Smarter Recompilation of Java-like Languages

Davide Ancona and Giovanni Lagorio, DISI, University of Genova, Italy



PDF Icon
PDF Version


We define an algorithm for smarter recompilation of a small but significant Java-like language; such an algorithm is inspired by a type system previously defined by Ancona and Zucca.

In comparison with all previous type systems for Java-like languages, this system enjoys the principal typings property, and is based on the two novel notions of local type assumption and entailment of type environments. The former allows the user to specify minimal requirements on the source fragments which need to be compiled in isolation, whereas the latter syntactically captures the concept of stronger type assumption.

One of the most important practical advantages of this system is a better support for selective recompilation; indeed, it is possible to define an algorithm directly driven by the typing rules which is able to avoid the unnecessary recompilation steps which are usually performed by the Java compilers.

The algorithm is smarter in the sense that it never forces useless recompilations, that is, recompilations which would generate the same binary fragment obtained from the previous compilation of the same source fragment.

Finally, we show that the algorithm can actually speed up the overall recompilation process, since checking for recompilation is always strictly less expensive than recompiling the same fragment.

Note: Due to the typographical sophistication of this article, no HTML version is available. Please use the PDF version.



About the authors

Davide Ancona took a Ph.D. in Computer Science at the University of Pisa on 1998, and since 2000 is assistant professor at the department of Computer Science of the University of Genova (DISI). His research interests are in object oriented programming, module systems, and type systems. He can be reached at See also

Giovanni Lagorio is a PhD student at the department of Computer Science of the University of Genova (DISI), University of Genova. His research interests are in the area of programming languages; in particular, design and foundations of modular and object-oriented languages and systems. He can be reached at See also

Cite this article as follows: Davide Ancona and Giovanni Lagorio: "Stronger Typings for Smarter Recompilation of Java-like Languages", in Journal of Object Technology, vol. 3, no. 6, Special issue: ECOOP 2003 workshop on Formal Techniques for Java-like Programs, June 2004, pp. 5-25.


Next article