The Java virtual machine executes stack-based bytecode. The intensive use of an operand stack has been identified as a major obstacle for static analysis and it is now common for static analysis tools to manipulate a stackless intermediate representation (IR) of bytecode programs. Several algorithms have been proposed to achieve such a transformation, whereas only little attention has been paid to their formal semantic properties. This work specifies such a bytecode transformation and provides the semantic foundations for proving that an initial program and its IR behave similarly, in particular with respect to object creation and throwing of exceptions. The transformation is based on a symbolic execution of the bytecode, using a symbolic o...
Static analyses based on denotational semantics can naturally modelfunctional behaviours of the code...
. The term "Java" is used to denote two different concepts: the language itself and the re...
Program transformation has gained a wide interest since it is used for several purposes: altering se...
The Java virtual machine executes stack-based bytecode. The intensive use of an operand stack has be...
International audienceThe Java virtual machine executes stack-based bytecode. The intensive use of a...
An end-to-end guarantee of software correctness by formal verification must consider two sources of ...
In this paper we present Jimple, a 3-address intermediate representation that has been designed to s...
International audienceIn this paper, we present a term rewriting based library for manipulating Java...
AbstractIn Java bytecode, intra-method subroutines are employed to represent code in “finally” block...
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-...
AbstractOne of the biggest obstacles in the formalisation of the Java bytecode is that the language ...
In Java bytecode, intra-method subroutines are employed to represent code in “finally” blocks. The u...
New toolkits that parse, analyze, and transform Java Bytecode are frequently developed from scratch ...
Static analyses based on denotational semantics can naturally modelfunctional behaviours of the code...
. The term "Java" is used to denote two different concepts: the language itself and the re...
Program transformation has gained a wide interest since it is used for several purposes: altering se...
The Java virtual machine executes stack-based bytecode. The intensive use of an operand stack has be...
International audienceThe Java virtual machine executes stack-based bytecode. The intensive use of a...
An end-to-end guarantee of software correctness by formal verification must consider two sources of ...
In this paper we present Jimple, a 3-address intermediate representation that has been designed to s...
International audienceIn this paper, we present a term rewriting based library for manipulating Java...
AbstractIn Java bytecode, intra-method subroutines are employed to represent code in “finally” block...
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-...
AbstractOne of the biggest obstacles in the formalisation of the Java bytecode is that the language ...
In Java bytecode, intra-method subroutines are employed to represent code in “finally” blocks. The u...
New toolkits that parse, analyze, and transform Java Bytecode are frequently developed from scratch ...
Static analyses based on denotational semantics can naturally modelfunctional behaviours of the code...
. The term "Java" is used to denote two different concepts: the language itself and the re...
Program transformation has gained a wide interest since it is used for several purposes: altering se...