Magic-sets transformation for the analysis of Java bytecode - Université de La Réunion
Conference Papers Year : 2007

Magic-sets transformation for the analysis of Java bytecode

Abstract

Denotational static analysis of Java bytecode has a nice and clean compositional definition and an efficient implementation with binary decision diagrams. But it models only the functional i.e., input/out-put behaviour of a program P , not enough if one needs P 's internal behaviours i.e., from the input to some internal program points. We overcome this limitation with a technique used up to now for logic programs only. It adds new magic blocks of code to P , whose functional behaviours are the internal behaviours of P. We prove this transformation correct with an operational semantics. We define an equivalent denota-tional semantics, whose denotations for the magic blocks are hence the internal behaviours of P. We implement our transformation and instantiate it with abstract domains modelling sharing of two variables and non-cyclicity of variables. We get a static analyser for full Java bytecode that is faster and scales better than another operational pair-sharing analyser and a constraint-based pointer analyser.
Fichier principal
Vignette du fichier
Magic_sets_transformation_for_analysis_java_bytecode.pdf (300.38 Ko) Télécharger le fichier
Origin Explicit agreement for this submission
Loading...

Dates and versions

hal-01916204 , version 1 (08-11-2018)

Identifiers

  • HAL Id : hal-01916204 , version 1

Cite

Etienne Payet, Fausto Spoto. Magic-sets transformation for the analysis of Java bytecode. 14th International Static Analysis Symposium (SAS 2007), Aug 2007, Kongens Lyngby, Denmark. pp.452-467. ⟨hal-01916204⟩
59 View
129 Download

Share

More