Complutense University Library

Herramienta de perfilado para código de bytes de Java

Loredo Iglesias, Carlos and Ortíz Gil, Sergio and Valles Mercado, Héctor (2010) Herramienta de perfilado para código de bytes de Java. [Coursework] (Unpublished)

[img]
Preview
PDF
1MB
View download statistics for this eprint

==>>> Export to other formats

Abstract

En este trabajo hemos implementado una herramienta para hacer “profiling” de programas escritos en código de bytes de Java, es decir, para contabilizar el número de recursos consumidos durante la ejecución de un programa. Los recursos que consideramos son: el número de instrucciones bytecode ejecutadas, el número de llamadas a un determinado método y el número de objetos creados (sin tener el cuenta el recolector de basura).
La herramienta o profiler recibe como entrada un fichero “.class” que contiene el código compilado de un programa Java. Junto con este fichero se debe especificar el nombre del método sobre el cual queremos hacer “profiling” y pasarle al interprete el valor concreto de los parámetros de entrada que se quieren utilizar para la ejecución. Una vez fijado el método y sus argumentos, el siguiente paso consiste en determinar qué recursos (de los ofrecidos por el sistema) se quieren medir. Con estos datos de entrada, en una primera fase el profiler transforma
el “.class” a una representación intermedia denominada RBR (“Rule-Based recursive Representation). La RBR es un conjunto de reglas recursivas que contienen la información
suficiente para poder simular, a partir de ellas, la ejecución del programa tal cual lo haría la máquina virtual de Java.
Para hacer el proceso de profiling más cómodo y sencillo para el usuario, hemos desarrollado una interfaz web en el lenguaje PHP que permite utilizar nuestro sistema de una manera muy intuitiva.
[ABSTRACT]
In this work we have implemented a tool which allows to do profiling of Java bytecode programs, i.e., to count the number of resources required by the execution of a program. The resources of interest are: the number of executed bytecode instructions, the number of calls to a concrete method and the number of created objects without considering the garbage collector.
The profiler receives as input a “.class” file containing the compiled code of a Java program together with the name of the method for which the profiling will be done. Since we need to simulate the execution of the method at hand, the user must provide also the input arguments for the method. With this information, the profiler transforms the “.class” into an intermediate Ruled-based recursive Representation (RBR for short). The RBR is a set of recursive rules containing all the information required to execute the program as done by the Java Virtual Machine.
Furthermore, the profiler also supports a Web interface, developed in the language PHP, which allows the use of the system in a friendly way.


Item Type:Coursework
Additional Information:

Proyecto de Sistemas Informáticos (Facultad de Informática, Curso 2009-2010)

Uncontrolled Keywords:Profiling, Perfilado, Java, Bytecode, Costa, Coste, Recursos, Rbr
Subjects:Sciences > Computer science > Expert systems (Computer science)
Sciences > Computer science > Programming languages (Electronic computers)
ID Code:11277
Deposited On:27 Oct 2010 07:10
Last Modified:06 Feb 2014 09:00

Repository Staff Only: item control page