Abstract
Java’s features such as system platform independence, dynamic and network oriented architecture, robustness as well as growing number of common standards make it a language of choice for many projects. However an increasing complexity of created software and requirement for high stability and high quality of applications make it desirable for a developer to inspect, monitor, debug or in any way alter Java programs behaviour on-the-fly. The main goal of this paper is to present the design of a system for instrumenting Java classes at runtime. This system is to aid developer in modifying program by adding fragments of code at specific locations that implement some new functionality. This allows programmer to enhance classes with logging, monitoring, caching or any other capabilities that are required at run-time.
Chapter PDF
Similar content being viewed by others
References
Bubak, M., Funika, W., Smętek, M., Kiliański, Z., Wismüller, R.: Architecture of monitoring system for distributed java applications. In: Dongarra, J., Laforenza, D., Orlando, S. (eds.) EuroPVM/MPI 2003, vol. 2840, pp. 447–454. Springer, Heidelberg (2003)
Smetek, M.: OMIS-based Monitoring System for Distributed Java Applications, M.Sc. Thesis, AGH, Krakow (2003)
Bubak, M., Funika, W., Wismüller, R., Mętel, P., Orłowski, R.: Monitoring of Distributed Java Applications. In: Future Generation Computer Systems, vol. (19), pp. 651–663. Elsevier Publishers, Amsterdam (2003)
Lindholm, T., Yellin, F.: The Java Virtual Machine Specification (1999), http://java.sun.com/docs/books/vmspec/
JVM Tool Interface, http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/
W3Org: Extensible Markup Language (XML) 1.0 2ed., http://www.w3.org/TR/REC-xml
Seragiotto Jr., C., Truong, H.-L., Mohr, B., Fahringer, T., Gerndt, M.: Standarized Intermediate Representation for Fortran, Java, C and C++ (to be published)
Gignoux, S., Visco, K.: Castor XML Mapping, http://www.castor.org/xml-mapping.html
Cohen, G.A., Chase, J.S., Kaminsky, D.L.: Automatic Program Transformation with JOIE (2002)
Goldberg, A., Havelund, K.: Instrumentation of Java Bytecode for Runtime Analysis (2003), http://ase.arc.nasa.gov/havelund/Publications/jspy-final.pdf
Guitart, J., Torres, J., Ayguade, E., Oliver, J., Labarta, J.: Java Instrumentation Suite: Accurate Analysis of Java Threaded Applications (2000), http://citeseer.ist.psu.edu/guitart00last.html
Lee, H.B., Zorn, B.G.: BIT: A Tool for Instrumenting Java Bytecodes (1997), http://citeseer.ist.psu.edu/lee97bit.html
Object Technology International, Inc.: Eclipse Platform Technical Overview (2003), http://www.eclipse.org/whitepapers/eclipse-overview.pdf
Buck, B., Hollingsworth, J.K.: An API for Runtime Code Patching (2000), http://www.dyninst.org/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Funika, W., Swierszcz, P. (2006). Dynamic Instrumentation of Distributed Java Applications Using Bytecode Modifications. In: Alexandrov, V.N., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds) Computational Science – ICCS 2006. ICCS 2006. Lecture Notes in Computer Science, vol 3992. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11758525_72
Download citation
DOI: https://doi.org/10.1007/11758525_72
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-34381-3
Online ISBN: 978-3-540-34382-0
eBook Packages: Computer ScienceComputer Science (R0)