Skip to main content
Back to USENIX
  • Conferences
  • Students
Sign in

USENIX Conference Policies

  • Event Code of Conduct
  • Conference Network Policy
  • Statement on Environmental Responsibility Policy

Kava--Using Byte-Code Rewriting to Add Behavioral Reflection to Java

Many authors have proposed using byte code rewriting as a way of adapting or extending the behaviour of Java classes. There are toolkits available that simplify this process and raise the level of abstraction above byte code. However, to the best of our knowledge, none of these toolkits provide a complete model of behavioural reflection for Java. In this paper, we describe how we have used load-time byte code rewriting techniques to construct a run-time metaobject protocol for Java that can be used to adapt and customise the behaviour of Java classes in a more flexible and abstract way. Apart from providing a better semantic basis for byte code rewriting techniques, our approach also has the advantage over other reflective Java implementations that it doesn't require a modified compiler or JVM, can operate on byte code rather than source code and cannot be bypassed. In this paper we describe the implementation of Kava, our reflective implementation of Java, and discuss some of the linguistic is-sues and technical challenges involved in implementing such a tool on top of a standard JVM. Kava is available from http://www.cs.ncl.ac.uk/research/dependability/reflection.

Ian Welch, University of Newcastle upon Tyne, United Kingdom

Robert Stroud, University of Newcastle upon Tyne, United Kingdom

BibTeX
@inproceedings {271052,
author = {Ian Welch and Robert Stroud},
title = {{Kava--Using} {Byte-Code} Rewriting to Add Behavioral Reflection to Java},
booktitle = {6th USENIX Conference on Object-Oriented Technologies and Systems (COOTS 01)},
year = {2001},
address = {San Antonio, TX},
url = {https://www.usenix.org/conference/coots-01/kava-using-byte-code-rewriting-add-behavioral-reflection-java},
publisher = {USENIX Association},
month = jan
}
Download

Links

Paper: 
http://www.usenix.org/events/coots01/full_papers/welch/welch.pdf
Paper (HTML): 
http://www.usenix.org/events/coots01/full_papers/welch/welch_html/index.html
  • Log in or register to post comments

© USENIX
EIN 13-3055038

  • Privacy Policy
  • Contact Us