A provably correct stackless intermediate representation for Java bytecode

7Citations
Citations of this article
10Readers
Mendeley users who have this article in their library.
Get full text

Abstract

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. This paper provides such a bytecode transformation, describes its semantic correctness and evaluates its performance. We provide 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 correctness of this transformation is proved with respect to a relation on execution traces taking into account that the object allocation order is not preserved by the transformation. © 2010 Springer-Verlag.

Cite

CITATION STYLE

APA

Demange, D., Jensen, T., & Pichardie, D. (2010). A provably correct stackless intermediate representation for Java bytecode. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 6461 LNCS, pp. 97–113). https://doi.org/10.1007/978-3-642-17164-2_8

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free