Diseño e implementación de un generador de código .NET

Autores
Curdi, Francisco Nicolás
Año de publicación
2021
Idioma
español castellano
Tipo de recurso
tesis de grado
Estado
versión publicada
Colaborador/a o director/a de tesis
Garbervetsky, Diego David
Zoppi, Edgardo Julio
Descripción
En esta tesis presentamos el diseño e implementación de un módulo de generación de código para el framework de análisis estático de código Analysis.NET. Esta herramienta permite leer ejecutables de .NET y realizar distintos análisis sobre ellos. Si bien la misma existe hace tiempo ya, actualmente tiene la limitante de no poder generar código ejecutable. El módulo agregado busca cubrir esa brecha y lograr una herramienta más completa, como las que podemos encontrar para otras tecnologías similares. Adicionalmente incluimos otro módulo que permite realizar una conversión entre dos representaciones intermedias que brinda el framework. Esto, sumado a la nueva funcionalidad de generación de código, nos permite hacer uso de distintos análisis y transformaciones que provee la herramienta pudiendo impactar cambios en un nuevo ejecutable. En este trabajo presentamos la plataforma .NET, junto con su arquitectura, y el framework Analysis.NET. Detallamos el diseño e implementación de los módulos agregados explicando la problemática que resuelven y las dificultades encontradas durante su implementación. Nos concentramos en cuatro ejes de estudio que nos ayudarán a entender el valor de la funcionalidad agregada. Estos son Generación, Instrumentación, Optimización y Generación programática, siendo el primero de ellos el foco principal de este trabajo. Por último realizamos una evaluación empírica, experimentando la herramienta completa con distintos casos de pruebas para los cuales evaluamos los resultados obtenidos para cada eje.
Fil: Curdi, Francisco Nicolás. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
Materia
ANALISIS
PROGRAMA
ESTATICO
NET
FRAMEWORK
BYTECODE
GENERACION
METADATA
CIL
CODIGO
EJECUTABLE
Nivel de accesibilidad
acceso abierto
Condiciones de uso
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
Repositorio
Biblioteca Digital (UBA-FCEN)
Institución
Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
OAI Identificador
seminario:seminario_nCOM000569_Curdi

id BDUBAFCEN_8d26c82ec0631b79ed7032840f4f5c4b
oai_identifier_str seminario:seminario_nCOM000569_Curdi
network_acronym_str BDUBAFCEN
repository_id_str 1896
network_name_str Biblioteca Digital (UBA-FCEN)
spelling Diseño e implementación de un generador de código .NETCurdi, Francisco NicolásANALISISPROGRAMAESTATICONETFRAMEWORKBYTECODEGENERACIONMETADATACILCODIGOEJECUTABLEEn esta tesis presentamos el diseño e implementación de un módulo de generación de código para el framework de análisis estático de código Analysis.NET. Esta herramienta permite leer ejecutables de .NET y realizar distintos análisis sobre ellos. Si bien la misma existe hace tiempo ya, actualmente tiene la limitante de no poder generar código ejecutable. El módulo agregado busca cubrir esa brecha y lograr una herramienta más completa, como las que podemos encontrar para otras tecnologías similares. Adicionalmente incluimos otro módulo que permite realizar una conversión entre dos representaciones intermedias que brinda el framework. Esto, sumado a la nueva funcionalidad de generación de código, nos permite hacer uso de distintos análisis y transformaciones que provee la herramienta pudiendo impactar cambios en un nuevo ejecutable. En este trabajo presentamos la plataforma .NET, junto con su arquitectura, y el framework Analysis.NET. Detallamos el diseño e implementación de los módulos agregados explicando la problemática que resuelven y las dificultades encontradas durante su implementación. Nos concentramos en cuatro ejes de estudio que nos ayudarán a entender el valor de la funcionalidad agregada. Estos son Generación, Instrumentación, Optimización y Generación programática, siendo el primero de ellos el foco principal de este trabajo. Por último realizamos una evaluación empírica, experimentando la herramienta completa con distintos casos de pruebas para los cuales evaluamos los resultados obtenidos para cada eje.Fil: Curdi, Francisco Nicolás. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.Universidad de Buenos Aires. Facultad de Ciencias Exactas y NaturalesGarbervetsky, Diego DavidZoppi, Edgardo Julio2021info:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfhttps://hdl.handle.net/20.500.12110/seminario_nCOM000569_Curdispainfo:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/arreponame:Biblioteca Digital (UBA-FCEN)instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesinstacron:UBA-FCEN2025-10-23T11:19:05Zseminario:seminario_nCOM000569_CurdiInstitucionalhttps://digital.bl.fcen.uba.ar/Universidad públicaNo correspondehttps://digital.bl.fcen.uba.ar/cgi-bin/oaiserver.cgiana@bl.fcen.uba.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:18962025-10-23 11:19:06.462Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesfalse
dc.title.none.fl_str_mv Diseño e implementación de un generador de código .NET
title Diseño e implementación de un generador de código .NET
spellingShingle Diseño e implementación de un generador de código .NET
Curdi, Francisco Nicolás
ANALISIS
PROGRAMA
ESTATICO
NET
FRAMEWORK
BYTECODE
GENERACION
METADATA
CIL
CODIGO
EJECUTABLE
title_short Diseño e implementación de un generador de código .NET
title_full Diseño e implementación de un generador de código .NET
title_fullStr Diseño e implementación de un generador de código .NET
title_full_unstemmed Diseño e implementación de un generador de código .NET
title_sort Diseño e implementación de un generador de código .NET
dc.creator.none.fl_str_mv Curdi, Francisco Nicolás
author Curdi, Francisco Nicolás
author_facet Curdi, Francisco Nicolás
author_role author
dc.contributor.none.fl_str_mv Garbervetsky, Diego David
Zoppi, Edgardo Julio
dc.subject.none.fl_str_mv ANALISIS
PROGRAMA
ESTATICO
NET
FRAMEWORK
BYTECODE
GENERACION
METADATA
CIL
CODIGO
EJECUTABLE
topic ANALISIS
PROGRAMA
ESTATICO
NET
FRAMEWORK
BYTECODE
GENERACION
METADATA
CIL
CODIGO
EJECUTABLE
dc.description.none.fl_txt_mv En esta tesis presentamos el diseño e implementación de un módulo de generación de código para el framework de análisis estático de código Analysis.NET. Esta herramienta permite leer ejecutables de .NET y realizar distintos análisis sobre ellos. Si bien la misma existe hace tiempo ya, actualmente tiene la limitante de no poder generar código ejecutable. El módulo agregado busca cubrir esa brecha y lograr una herramienta más completa, como las que podemos encontrar para otras tecnologías similares. Adicionalmente incluimos otro módulo que permite realizar una conversión entre dos representaciones intermedias que brinda el framework. Esto, sumado a la nueva funcionalidad de generación de código, nos permite hacer uso de distintos análisis y transformaciones que provee la herramienta pudiendo impactar cambios en un nuevo ejecutable. En este trabajo presentamos la plataforma .NET, junto con su arquitectura, y el framework Analysis.NET. Detallamos el diseño e implementación de los módulos agregados explicando la problemática que resuelven y las dificultades encontradas durante su implementación. Nos concentramos en cuatro ejes de estudio que nos ayudarán a entender el valor de la funcionalidad agregada. Estos son Generación, Instrumentación, Optimización y Generación programática, siendo el primero de ellos el foco principal de este trabajo. Por último realizamos una evaluación empírica, experimentando la herramienta completa con distintos casos de pruebas para los cuales evaluamos los resultados obtenidos para cada eje.
Fil: Curdi, Francisco Nicolás. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
description En esta tesis presentamos el diseño e implementación de un módulo de generación de código para el framework de análisis estático de código Analysis.NET. Esta herramienta permite leer ejecutables de .NET y realizar distintos análisis sobre ellos. Si bien la misma existe hace tiempo ya, actualmente tiene la limitante de no poder generar código ejecutable. El módulo agregado busca cubrir esa brecha y lograr una herramienta más completa, como las que podemos encontrar para otras tecnologías similares. Adicionalmente incluimos otro módulo que permite realizar una conversión entre dos representaciones intermedias que brinda el framework. Esto, sumado a la nueva funcionalidad de generación de código, nos permite hacer uso de distintos análisis y transformaciones que provee la herramienta pudiendo impactar cambios en un nuevo ejecutable. En este trabajo presentamos la plataforma .NET, junto con su arquitectura, y el framework Analysis.NET. Detallamos el diseño e implementación de los módulos agregados explicando la problemática que resuelven y las dificultades encontradas durante su implementación. Nos concentramos en cuatro ejes de estudio que nos ayudarán a entender el valor de la funcionalidad agregada. Estos son Generación, Instrumentación, Optimización y Generación programática, siendo el primero de ellos el foco principal de este trabajo. Por último realizamos una evaluación empírica, experimentando la herramienta completa con distintos casos de pruebas para los cuales evaluamos los resultados obtenidos para cada eje.
publishDate 2021
dc.date.none.fl_str_mv 2021
dc.type.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
info:eu-repo/semantics/publishedVersion
http://purl.org/coar/resource_type/c_7a1f
info:ar-repo/semantics/tesisDeGrado
format bachelorThesis
status_str publishedVersion
dc.identifier.none.fl_str_mv https://hdl.handle.net/20.500.12110/seminario_nCOM000569_Curdi
url https://hdl.handle.net/20.500.12110/seminario_nCOM000569_Curdi
dc.language.none.fl_str_mv spa
language spa
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
eu_rights_str_mv openAccess
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-sa/2.5/ar
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
dc.source.none.fl_str_mv reponame:Biblioteca Digital (UBA-FCEN)
instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron:UBA-FCEN
reponame_str Biblioteca Digital (UBA-FCEN)
collection Biblioteca Digital (UBA-FCEN)
instname_str Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron_str UBA-FCEN
institution UBA-FCEN
repository.name.fl_str_mv Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
repository.mail.fl_str_mv ana@bl.fcen.uba.ar
_version_ 1846784896057475072
score 12.982451