Bytecode Rewriting in Tom

11 years 9 months ago
Bytecode Rewriting in Tom
In this paper, we present a term rewriting based library for manipulating Java bytecode. We define a mapping from bytecode programs to algebraic terms, and we use Tom, an extension of Java that adds pattern-matching facilities, to describe transformations. An originality of Tom is that it provides a powerful strategy language to express traversals over trees and to control how transformation rules are applied. To be even more expressive, we use CTL formulae as conditions and we show how their satisfiability can be ensured using the strategy formalism. Through small examples, we show how bytecode analysis and transformations can be defined in an elegant way. In particular, we outline the implementation of a ClassLoader parameterized by a security policy that restricts file access. 1 Motivations Bytecode transformation is an example of a late code modification technique, targeting an executable program after compilation. Traditional late code modification systems suffer from lack...
Emilie Balland, Pierre-Etienne Moreau, Antoine Rei
Added 13 Dec 2010
Updated 13 Dec 2010
Type Journal
Year 2007
Authors Emilie Balland, Pierre-Etienne Moreau, Antoine Reilles
Comments (0)