skip to main content
10.1145/1621607.1621620acmconferencesArticle/Chapter ViewAbstractPublication PagesgpceConference Proceedingsconference-collections
research-article

Classifying Java class transformations for pervasive virtualized access

Published:04 October 2009Publication History

ABSTRACT

The indirection of object accesses is a common theme for target domains as diverse as transparent distribution, persistence, and program instrumentation. Virtualizing accesses to fields and methods (by redirecting calls through accessor and indirection methods) allows interposition of arbitrary code, extending the functionality of an application beyond that intended by the original developer.

We present class modifications performed by our RuggedJ transparent distribution platform for standard Java virtual machines. RuggedJ abstracts over the location of objects by implementing a single object model for local and remote objects. However the implementation of this model is complicated by the presence of native and system code; classes loaded by Java's bootstrap class loader can be rewritten only in a limited manner, and so cannot be modified to conform to RuggedJ's complex object model. We observe that system code comprises the majority of a given Java application: an average of 76% in the applications we study. We consider the constraints imposed upon pervasive class transformation within Java, and present a framework for systematically rewriting arbitrary applications. Our system accommodates all system classes, allowing both user and system classes alike to be referenced using a single object model.

References

  1. S. M. Blackburn, R. Garner, C. Hoffman, A. M. Khan, K. S. McKinley, R. Bentzur, A. Diwan, D. Feinberg, D. Frampton, S. Z. Guyer, M. Hirzel, A. Hosking, M. Jump, H. Lee, J. E. B. Moss, A. Phansalkar, D. Stefanovic, T. VanDrunen, D. von Dincklage, and B. Wiedermann. The DaCapo benchmarks: Java benchmarking development and analysis. In OOPSLA '06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-Oriented Programing, Systems, Languages, and Applications, pages 169--190, New York, NY, USA, October 2006. ACM Press. doi: http://doi.acm.org/10.1145/1167473.1167488. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Michael Factor, Assaf Schuster, and Konstantin Shagin. Instrumentation of standard libraries in object-oriented languages: the Twin Class Hierarchy approach. In Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 288--300, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Sheng Liang and Gilad Bracha. Dynamic class loading in the Java virtual machine. In Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 36--44, 1998. doi: 10.1145/286936.286945. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Phil McGachey, Antony L. Hosking, and J. Eliot B. Moss. Pervasive load-time transformation for transparently distributed Java. In Proceedings of the International Workshop on Bytecode Semantics, Verification, Analysis, and Transformation, 2009.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. David Saff, Shay Artzi, Jeff H. Perkins, and Michael D. Ernst. Automatic test factoring for Java. In Proceedings of the International Conference on Automated Software Engineering, pages 114--123, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Standard Performance Evaluation Corporation. SPEC JBB2005 Benchmark. http://www.spec.org/jbb2005,.Google ScholarGoogle Scholar
  7. Standard Performance Evaluation Corporation. SPEC JVM2008 Benchmark. http://www.spec.org/jvm2008/,Google ScholarGoogle Scholar
  8. Sun Microsystems, Inc. The JVM Tool Interface. http://java.sun.com/j2se/1.5.0/docs/guide/jvmti.Google ScholarGoogle Scholar
  9. E. Tilevich and Y. Smaragdakis. J-Orchestra: Enhancing Java programs with distribution capabilities. ACM Transactions on Software Engineering and Methodology, 2009. To appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Eli Tilevich and Yannis Smaragdakis. J-Orchestra: Automatic Java application partitioning. In Boris Magnusson, editor, Proceedings of the European Conference on Object-Oriented Programming, volume 2374 of Lecture Notes in Computer Science, pages 178--204. Springer-Verlag, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Eli Tilevich and Yannis Smaragdakis. Transparent program transformations in the presence of opaque code. In Proceedings of the International Conference on Generative Programming and Component Engineering, Lecture Notes in Computer Science, pages 89--94, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Eli Tilevich, Yannis Smaragdakis, and Marcus Handte. Appletizing: Running legacy Java code remotely from a Web browser. In Proceedings of the IEEE International Conference on Software Maintanance, pages 91--100, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. YourKit, LLC. The yourkit java profiler. URL http://www.yourkit.com/.Google ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    GPCE '09: Proceedings of the eighth international conference on Generative programming and component engineering
    October 2009
    194 pages
    ISBN:9781605584942
    DOI:10.1145/1621607
    • General Chair:
    • Jeremy Siek,
    • Program Chair:
    • Bernd Fischer
    • cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 45, Issue 2
      GPCE '09
      February 2010
      182 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/1837852
      Issue’s Table of Contents

    Copyright © 2009 ACM

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 4 October 2009

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article

    Acceptance Rates

    GPCE '09 Paper Acceptance Rate18of62submissions,29%Overall Acceptance Rate56of180submissions,31%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader
About Cookies On This Site

We use cookies to ensure that we give you the best experience on our website.

Learn more

Got it!