Extensión de un analizador de programas Java

González Bodas, Javier (2016). Extensión de un analizador de programas Java. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S. de Ingenieros Informáticos (UPM), Madrid, España.

Description

Title: Extensión de un analizador de programas Java
Author/s:
  • González Bodas, Javier
Contributor/s:
  • Zanardini, Damiano
Item Type: Final Project
Degree: Grado en Ingeniería Informática
Date: July 2016
Faculty: E.T.S. de Ingenieros Informáticos (UPM)
Department: Inteligencia Artificial
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (511kB) | Preview

Abstract

Este proyecto trata de conseguir añadir una nueva funcionalidad a un analizador existente de programas Java. Esta funcionalidad consiste en la capacidad del analizador de soportar llamadas a métodos (es decir, pasar de una versión “intraprocedural” a una “interprocedural”). De esta forma el analizador será capaz de analizar programas que involucren la interacción entre distintos métodos, cosa que hasta hoy no era posible. La nueva versión sabe distinguir las distintas llamadas a métodos por su contexto y tener así en cuenta el resultado producido por el análisis de los distintos métodos llamados en función de sus datos de entrada. Para desarrollar esto, se llevó a cabo un estudio previo del marco teórico y las técnicas de Análisis Estático, especialmente la teoría de la Interpretación Abstracta, utilizada en el analizador ya existente. Además, se ha estudiado las distintas técnicas utilizadas para calcular el contexto de las llamadas a métodos. También se ha hecho un estudio sobre la plataforma Chord utilizada para implementar el análisis. Tras los estudios previos se realizó la implementación de la nueva funcionalidad. El desarrollo de este trabajo ha sido positivo ya que se ha conseguido que funcione correctamente para unos casos de prueba.---ABSTRACT---This project tries to achieve adding a new functionality to an analyzer of Java programs. This functionality consists of the capacity of the analyzer to allow multiple calls to methods (i.e., from intraprocedural to interprocedural). In such manner, the analyzer could be able to analyze programs that involve interactions between distinct methods, which was not possible before. The new version knows to distinguish different calls to methods by their context and take the produced result in account depending on their inputs data. For that, it was done a previous study of the theoretical background and the techniques of Static Analysis, especially Analysis by Abstract Interpretation technique, used in the current analyzer. Moreover it was studied the distinct techniques used for calculating the context of the calls to methods. Also it has been done a study of the platform Chord used for implement the analysis. After the previous studies, it is made the implementation of the new functionality. The development of this project has been positive because it achieved that it works fine with a few little tests.

More information

Item ID: 43466
DC Identifier: http://oa.upm.es/43466/
OAI Identifier: oai:oa.upm.es:43466
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 10 Oct 2016 08:21
Last Modified: 10 Oct 2016 08:21
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM