| ECOOP
2003 WORKSHOP ON FORMAL TECHNIQUES FOR JAVA-LIKE PROGRAMS (FTfJP) |
|
|
Stronger Typings for Smarter Recompilation of Java-like Languages
Davide Ancona and Giovanni Lagorio,
DISI, University of Genova, Italy
|
 |

PDF Version
|
Abstract
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
davide@disi.unige.it. See also
http://www.disi.unige.it/person/AnconaD/.
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 lagorio@disi.unige.it.
See also http://www.disi.unige.it/person/LagorioG/.
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.
http://www.jot.fm/issues/issue_2004_06/article1
|