JBInsTrace: A Tracer of Java and JRE Classes at Basic-Block Granularity by Dynamically Instrumenting Bytecode - Inria - Institut national de recherche en sciences et technologies du numérique
Article Dans Une Revue Science of Computer Programming Année : 2012

JBInsTrace: A Tracer of Java and JRE Classes at Basic-Block Granularity by Dynamically Instrumenting Bytecode

Pierre Caserta
  • Fonction : Auteur
  • PersonId : 884967
Olivier Zendra

Résumé

Understanding what happens during the runtime of a Java program is difficult. Tracking runtime flow can bring valuable information for program understanding and behavior analysis. Polymorphism, thread concurrency or even simple facts like the number of method invocations and the number of executed bytecodes are valuable information to track, but are difficult to compute outside the Java Virtual Machine (JVM) on running programs. In this paper, we present JBInsTrace, a new tool that instruments and traces Java bytecode. It produces static information about source code and a very fine grained trace of Java software execution, combining them to allow detailed analysis of the runtime. Our tool differs from others because it does not only trace program classes but also JRE classes, and does so at basic block level, without altering the JVM and without statically modifying class files. We explain JBInsTrace design, focused towards efficiency, which results in reasonable performance penalty.
Fichier principal
Vignette du fichier
JBInsTrace_A_Tracer_of_Java_and_JRE_Classes.pdf (405.39 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-00672976 , version 1 (22-02-2012)
hal-00672976 , version 2 (28-09-2012)

Identifiants

  • HAL Id : hal-00672976 , version 1

Citer

Pierre Caserta, Olivier Zendra. JBInsTrace: A Tracer of Java and JRE Classes at Basic-Block Granularity by Dynamically Instrumenting Bytecode. Science of Computer Programming, 2012. ⟨hal-00672976v1⟩
435 Consultations
457 Téléchargements

Partager

More