Skip to main content

Towards a Smart Compilation Manager for Java

(Extended Abstract)

  • Conference paper
Theoretical Computer Science (ICTCS 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2841))

Included in the following conference series:

Abstract

It is often infeasible to recompile all the sources an application consists of each time a change is made. Yet, a recompilation strategy which does not guarantee the same outcome of an entire recompilation is not useful: why wasting time in debugging a program (a set of .class files in the Java case) which might behave differently from the program obtained recompiling all the sources from scratch?

We say that a compilation strategy is sound if it recompiles, besides the changed sources, all the unchanged sources whose new binary, produced by the overall recompilation, would differ from the existing one (if any) and all the sources for which the recompilation would be undefined: indeed, when the entire compilation fails, so should do the partial recompilation.

We say that a compilation strategy is minimal if it never recompiles an unchanged source whose new binary would be equal to the existing one. In this paper we present a compilation strategy for a substantial subset of Java which is proved to be sound and minimal.

Partially supported by Dynamic Assembly, Reconfiguration Type-checking – EC project IST-2001-33477, APPSEM II – Thematic network IST-2001-38957, and Murst NAPOLI – Network Aware Programming: Oggetti, Linguaggi, Implementazioni.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Adams, R., Tichy, W., Weinert, A.: The cost of selective recompilation and environment processing. ACM Transactions on Software Engineering and Methodology 3(1), 3–28 (1994)

    Article  Google Scholar 

  2. Ancona, D., Lagorio, G.: Stronger Typings for Separate Compilation of Java-like Languages. Technical report, DISI (March 2003)

    Google Scholar 

  3. Ancona, D., Lagorio, G., Zucca, E.: A formal framework for Java separate compilation. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 609–635. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  4. Ancona, D., Lagorio, G., Zucca, E.: True separate compilation of Java classes. In: ACM SIGPLAN Conference on Principles and Practice of Declarative Programming (PPDP 2002), pp. 189–200. ACM Press, New York (2002)

    Chapter  Google Scholar 

  5. Dmitriev, M.: Language-specific make technology for the Java programming language. ACM SIGPLAN Notices 37(11), 373–385 (2002)

    Article  Google Scholar 

  6. Drossopoulou, S., Eisenbach, S.: Describing the semantics of Java and proving type soundness. In: Alves-Foss, J. (ed.) Formal Syntax and Semantics of Java. LNCS, vol. 1523, pp. 41–82. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  7. Drossopoulou, S., Valkevych, T., Eisenbach, S.: Java type soundness revisited. Technical report, Dept. of Computing - Imperial College of Science, Technology and Medicine (September 2000)

    Google Scholar 

  8. Gosling, J., Joy, B., Steele, G., Bracha, G.: The JavaTM Language Specification, 2nd edn. Addison-Wesley, Reading (2000)

    Google Scholar 

  9. SUN Microsystems. The Java HotSpot Virtual Machine (2001) (technical white paper)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lagorio, G. (2003). Towards a Smart Compilation Manager for Java. In: Blundo, C., Laneve, C. (eds) Theoretical Computer Science. ICTCS 2003. Lecture Notes in Computer Science, vol 2841. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45208-9_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-45208-9_24

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20216-5

  • Online ISBN: 978-3-540-45208-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics