{"id":96779,"date":"2018-03-11T10:17:08","date_gmt":"2018-03-11T10:17:08","guid":{"rendered":"https:\/\/www.deberes.net\/tesis\/sin-categoria\/transformacion-y-analisis-de-codigo-de-bytes-orientado-a-objetos\/"},"modified":"2018-03-11T10:17:08","modified_gmt":"2018-03-11T10:17:08","slug":"transformacion-y-analisis-de-codigo-de-bytes-orientado-a-objetos","status":"publish","type":"post","link":"https:\/\/www.deberes.net\/tesis\/sin-categoria\/transformacion-y-analisis-de-codigo-de-bytes-orientado-a-objetos\/","title":{"rendered":"Transformaci\u00f3n y an\u00e1lisis de c\u00f3digo de bytes orientado a objetos"},"content":{"rendered":"<h2>Tesis doctoral de <strong> Miguel Gomez Zamalloa Gil <\/strong><\/h2>\n<p>Null predecir el comportamiento de los programas antes de su ejecuci\u00f3n es cada vez m\u00e1s importante, especialmente teniendo en cuenta que \u00e9stos son cada vez m\u00e1s complejos y son utilizados frecuentemente en situaciones cr\u00edticas, como operaciones m\u00e9dicas, con trol a\u00e9reo u operaciones bancarias. El an\u00e1lisis est\u00e1tico de programas es el proceso por el cual el comportamiento de los programas es analizado sin llegar a ejecutar su c\u00f3digo.  tradicionalmente, la mayor\u00eda de an\u00e1lisis han sido formulados al nivel de l c\u00f3digo fuente. No obstante, puede darse el caso de que el an\u00e1lisis deba tratar con c\u00f3digo compilado, o c\u00f3digo de bytes. Esta situaci\u00f3n se da en particular cuando un consumidor de c\u00f3digo est\u00e1 interesado en verificar ciertas propiedades de programas de un tercero, pero no tiene acceso directo al c\u00f3digo fuente, como suele pasar con el software comercial y con el c\u00f3digo m\u00f3vil. Un ejemplo particularmente interesante es el emph{an\u00e1lisis del consumo de memoria}, el cual puede ser muy \u00fatil en context os en los cuales el consumidor de c\u00f3digo quiere verificar que el programa recibido puede ejecutarse sin que su consumo de memoria exceda un l\u00edmite dado.  desafortunadamente, razonar sobre programas reales de c\u00f3digo de bytes (con orientaci\u00f3n a objetos ) es una tarea complicada y costosa. Adem\u00e1s de las caracter\u00edsticas propias de la orientaci\u00f3n a objetos como la herencia y las invocaciones virtuales, un analizador de c\u00f3digo de bytes tiene que tratar con ciertas complicaciones propias de los lenguaje s de bajo nivel como la ausencia de estructura de control, el uso de la pila de operandos, etc.   una pr\u00e1ctica habitual consiste en resolver el problema en dos pasos, de forma que en primer lugar se transforma, o decompila, el programa de c\u00f3digo de b ytes a una representaci\u00f3n intermedia de m\u00e1s alto nivel, para poder as\u00ed formular el an\u00e1lisis sobre dicha representaci\u00f3n. Esto permite abstraer las caracter\u00edsticas particulares del lenguaje y as\u00ed poder desarrollar las herramientas de an\u00e1lisis sobre rep resentaciones m\u00e1s sencillas.  la mayor\u00eda de los enfoques desarrollan decompiladores ad hoc, es decir, decompiladores exclusivamente dise\u00f1ados para llevar a cabo una transformaci\u00f3n particular. Existe no obstante una alternativa al desarrollo de decomp iladores ad hoc, llamada decompilaci\u00f3n interpretativa por evaluaci\u00f3n parcial. Como veremos, \u00e9sta permite decompilar programas evaluando parcialmente un int\u00e9rprete respecto a \u00e9stos.  esta tesis contribuye a mejorar el estado del arte en la transformac<\/p>\n<p>&nbsp;<\/p>\n<h3>Datos acad\u00e9micos de la tesis doctoral \u00ab<strong>Transformaci\u00f3n y an\u00e1lisis de c\u00f3digo de bytes orientado a objetos<\/strong>\u00ab<\/h3>\n<ul>\n<li><strong>T\u00edtulo de la tesis:<\/strong>\u00a0 Transformaci\u00f3n y an\u00e1lisis de c\u00f3digo de bytes orientado a objetos <\/li>\n<li><strong>Autor:<\/strong>\u00a0 Miguel Gomez Zamalloa Gil <\/li>\n<li><strong>Universidad:<\/strong>\u00a0 Complutense de Madrid<\/li>\n<li><strong>Fecha de lectura de la tesis:<\/strong>\u00a0 26\/10\/2009<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>Direcci\u00f3n y tribunal<\/h3>\n<ul>\n<li><strong>Director de la tesis<\/strong>\n<ul>\n<li>Elvira Albert Albiol<\/li>\n<\/ul>\n<\/li>\n<li><strong>Tribunal<\/strong>\n<ul>\n<li>Presidente del tribunal: john patrick Gallagher <\/li>\n<li>  (vocal)<\/li>\n<li>  (vocal)<\/li>\n<li>  (vocal)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tesis doctoral de Miguel Gomez Zamalloa Gil Null predecir el comportamiento de los programas antes de su ejecuci\u00f3n es cada [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[131503,198576,198575],"class_list":["post-96779","post","type-post","status-publish","format-standard","hentry","category-sin-categoria","tag-elvira-albert-albiol","tag-john-patrick-gallagher","tag-miguel-gomez-zamalloa-gil"],"_links":{"self":[{"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/posts\/96779","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/comments?post=96779"}],"version-history":[{"count":0,"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/posts\/96779\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/media?parent=96779"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/categories?post=96779"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.deberes.net\/tesis\/wp-json\/wp\/v2\/tags?post=96779"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}