Toggle Main Menu Toggle Search

Open Access padlockePrints

Kava - A reflective Java based on bytecode rewriting

Lookup NU author(s): Ian Welch, Dr Robert Stroud


Full text for this publication is not currently held within this repository. Alternative links are provided below where available.


Current implementations of reflective Java typically either require access to source code, or require a modified Java platform. This makes them unsuitable for applying reflection to Commercial-off-theShelf (COTS) systems. The high level nature of Java bytecode makes on-the-fly rewritings of class files feasible and this has been exploited by a number of authors. However, in practice working at bytecode level is error prone and leads to fragile code. We propose using metaobject protocols in order to specify behavioural changes and use standard bytecode rewritings to implement the changes. We have developed a reflective Java called Kava that provides behavioural runtime reflection through the use of bytecode rewriting of Java classes. In this paper we discuss the binary rewriting approach, provide an overview of the Kava system and provide an example of an application of Kava.

Publication metadata

Author(s): Welch I, Stroud RJ

Publication type: Article

Publication status: Published

Journal: Reflections and Software Engineering: Lecture Notes in Computer Science

Year: 2000

Volume: 1826

Pages: 155-167

Print publication date: 01/01/2000

ISSN (print): 9783540677611

ISSN (electronic):

Publisher: Springer


DOI: 10.1007/3-540-45046-7_9


Altmetrics provided by Altmetric