ISBN-13: 9783847364160 / Hiszpański / Miękka / 2012 / 84 str.
Predecir el comportamiento de los programas antes de su ejecucion es cada vez mas importante, especialmente teniendo en cuenta que estos son cada vez mas complejos y son utilizados frecuentemente en situaciones criticas. El analisis estatico de programas es el proceso por el cual el comportamiento de los programas es analizado sin llegar a ejecutar su codigo. A la hora de analizar codigo de bytes una practica habitual consiste en: (1 ) transformar o decompilar el codigo a una representacion de mas alto nivel, y (2 ) formular el analisis sobre dicha representacion. Esta tesis contribuye a mejorar el estado del arte en la transformacion y el analisis de lenguajes de codigo de bytes, en concreto: (1) proponiendo e implementando un esquema formal para la decompilacion automatica por compilacion interpretativa de programas de codigo de bytes (con orientacion a objetos) a representaciones de mas alto nivel, en particular utilizando programacion logica; (2) estudiando las aplicaciones practicas que se tienen gracias a disponer de dichas representaciones; y (3) disenando e implementando un analisis de consumo de memoria para lenguajes de codigo de bytes con recoleccion de basura."
Predecir el comportamiento de los programas antes de su ejecución es cada vez más importante, especialmente teniendo en cuenta que estos son cada vez más complejos y son utilizados frecuentemente en situaciones críticas. El análisis estático de programas es el proceso por el cual el comportamiento de los programas es analizado sin llegar a ejecutar su código. A la hora de analizar código de bytes una práctica habitual consiste en: (1º) transformar o decompilar el código a una representación de más alto nivel, y (2º) formular el análisis sobre dicha representación. Esta tesis contribuye a mejorar el estado del arte en la transformación y el análisis de lenguajes de código de bytes, en concreto: (1) proponiendo e implementando un esquema formal para la decompilación automática por compilación interpretativa de programas de código de bytes (con orientación a objetos) a representaciones de más alto nivel, en particular utilizando programación lógica; (2) estudiando las aplicaciones prácticas que se tienen gracias a disponer de dichas representaciones; y (3) diseñando e implementando un análisis de consumo de memoria para lenguajes de código de bytes con recolección de basura.