International audienceIn 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 ...
AbstractProgram logics for bytecode languages such as Java bytecode or the .NET CIL can be used to a...
The term “Java” is used to denote two different concepts: the language itself and the related execut...
In this paper we propose an strategy for the design of compilers correct by construction for object-...
AbstractIn this paper, we present a term rewriting based library for manipulating Java bytecode. We ...
AbstractIn any language designed to express transformations, the notion of rewrite rule is a key fea...
International audienceIn any language designed to express transformations, the notion of rewrite rul...
International audienceWe present the Tom language that extends Java with the purpose ofproviding hig...
Following the experience of Elan, the Tom language was devel- oped to provide rewrite tools for impl...
Developing programming paradigms and languages that ease the program-mers' job of writing quality re...
Motivated by the promotion of rewriting techniques and their use in major industrial applications, w...
This manual contains information for Tom version 2.7. Tom is a language extension which adds new mat...
International audienceIn this paper we present the essential feature we have considered when designi...
The Java virtual machine executes stack-based bytecode. The intensive use of an operand stack has be...
Developing static analyzers requires an intensive handling of tree and graph structures representing...
International audienceThe Java virtual machine executes stack-based bytecode. The intensive use of a...
AbstractProgram logics for bytecode languages such as Java bytecode or the .NET CIL can be used to a...
The term “Java” is used to denote two different concepts: the language itself and the related execut...
In this paper we propose an strategy for the design of compilers correct by construction for object-...
AbstractIn this paper, we present a term rewriting based library for manipulating Java bytecode. We ...
AbstractIn any language designed to express transformations, the notion of rewrite rule is a key fea...
International audienceIn any language designed to express transformations, the notion of rewrite rul...
International audienceWe present the Tom language that extends Java with the purpose ofproviding hig...
Following the experience of Elan, the Tom language was devel- oped to provide rewrite tools for impl...
Developing programming paradigms and languages that ease the program-mers' job of writing quality re...
Motivated by the promotion of rewriting techniques and their use in major industrial applications, w...
This manual contains information for Tom version 2.7. Tom is a language extension which adds new mat...
International audienceIn this paper we present the essential feature we have considered when designi...
The Java virtual machine executes stack-based bytecode. The intensive use of an operand stack has be...
Developing static analyzers requires an intensive handling of tree and graph structures representing...
International audienceThe Java virtual machine executes stack-based bytecode. The intensive use of a...
AbstractProgram logics for bytecode languages such as Java bytecode or the .NET CIL can be used to a...
The term “Java” is used to denote two different concepts: the language itself and the related execut...
In this paper we propose an strategy for the design of compilers correct by construction for object-...