Biblioteca de la Universidad Complutense de Madrid

Herramienta de perfilado para código de bytes de Java

Impacto



Loredo Iglesias, Carlos y Ortíz Gil, Sergio y Valles Mercado, Héctor (2010) Herramienta de perfilado para código de bytes de Java. [Trabajo de curso] (No publicado)

[img]
Vista previa
PDF
1MB


Resumen

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.


Tipo de documento:Trabajo de curso
Información Adicional:

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

Palabras clave:Profiling, Perfilado, Java, Bytecode, Costa, Coste, Recursos, Rbr
Materias:Ciencias > Informática > Sistemas expertos
Ciencias > Informática > Lenguajes de programación
Código ID:11277
Depositado:27 Oct 2010 07:10
Última Modificación:06 Feb 2014 09:00

Sólo personal del repositorio: página de control del artículo