Bytecode rewriting in Tom

Emilie Balland 1 Pierre-Etienne Moreau 1 Antoine Reilles 1
1 PROTHEO - Constraints, automatic deduction and software properties proofs
INRIA Lorraine, LORIA - Laboratoire Lorrain de Recherche en Informatique et ses Applications
Abstract : 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.
Document type :
Conference papers
Complete list of metadatas

Cited literature [10 references]  Display  Hide  Download
Contributor : Emilie Balland <>
Submitted on : Wednesday, February 7, 2007 - 5:12:45 PM
Last modification on : Thursday, January 11, 2018 - 6:19:58 AM
Long-term archiving on : Friday, September 21, 2012 - 11:13:11 AM


Files produced by the author(s)


  • HAL Id : inria-00129513, version 1



Emilie Balland, Pierre-Etienne Moreau, Antoine Reilles. Bytecode rewriting in Tom. Second Workshop on Bytecode Semantics, Verification, Analysis and Transformation - BYTECODE 07, Mar 2007, Braga, Portugal. pp.19-33. ⟨inria-00129513⟩



Record views


Files downloads