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.

Descripción

Título: Extensión de un analizador de programas Java
Autor/es:
  • González Bodas, Javier
Director/es:
  • Zanardini, Damiano
Tipo de Documento: Proyecto Fin de Carrera/Grado
Grado: Grado en Ingeniería Informática
Fecha: Julio 2016
Escuela: E.T.S. de Ingenieros Informáticos (UPM)
Departamento: Inteligencia Artificial
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (511kB) | Vista Previa

Resumen

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.

Más información

ID de Registro: 43466
Identificador DC: http://oa.upm.es/43466/
Identificador OAI: oai:oa.upm.es:43466
Depositado por: Biblioteca Facultad de Informatica
Depositado el: 10 Oct 2016 08:21
Ultima Modificación: 10 Oct 2016 08:21
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • e-ciencia
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM