Slicing dinámico para lenguajes de la familia .NET

Autores
De Rocco, Federico
Año de publicación
2020
Idioma
español castellano
Tipo de recurso
tesis de grado
Estado
versión publicada
Colaborador/a o director/a de tesis
Soifer, Alexis Damián
Descripción
Slicing dinámico es una técnica que se utiliza principalmente para facilitar la tarea de debugging[2], reduciendo el esfuerzo del programador encontrando aquellas líneas relevantes para un comportamiento dado[5]. Para construir un slice el enfoque clásico se basa en la búsqueda de dependencias entre las instrucciones del programa. Si bien en sus comienzos la técnica fue prometedora, hoy en día todavía persisten problemas de escalabilidad[30]. El grupo LaFHIS desarrolló en los últimos años DynAbs, un slicer de emisi´on/an´alisis de traza destinado a analizar c´odigo de alto nivel que intenta atacar parcialmente estos problemas de escalabilidad para aplicaciones C#. A pesar de los avances, la herramienta no ataca una de las deficiencias que tienen las herramientas de este tipo, que es la limitación de tratar un único lenguaje. En este trabajo se presenta una extensión para la herramienta para operar sobre el lenguaje Visual Basic, el cual actualmente no posee ninguna herramienta de slicing compatible exceptuando herramientas multilenguaje como ORBS [27, 28]. Como cualquier herramienta de este tipo, esta consiste en una parte destinada a instrumentar el código cliente y otra parte consumir la traza generada en su ejecución. Por lo tanto este trabajo consistió en implementar por un lado la funcionalidad necesaria para instrumentar código Visual Basic, y por otro, abstraer el módulo de análisis para que trate ambos lenguajes. A lo largo de este trabajo se detallan los conceptos relativos a slicing, los específicos a DynAbs y se explica cómo fue realizada esta extensión. Finalmente, se presentará una evaluación adecuada que determinó que han sido cubiertas suficientes expresiones del lenguaje y que efectivamente ahora se pueden tratar programas que han sido evaluados previamente en C#.
Dynamic slicing is a technique that is mainly used by the programmers on debugging[2], reducing their efforts by finding those lines that are relevant to a given behavior[5]. To build a slice, the classic approach is based on finding control and data dependencies between the statements. Although the technique was promising in its beginnings, today persists scalability problems[30]. LaFHIS has developed in recent years DynAbs, a classical slicer designed for tracing high-level code that tries to partially solve these scalability problems for C # applications. Despite the advances, the tool does not attack one of the deficiencies that tools of this type have, which is the limitation of dealing with a single language. This work presents an extension for the tool to operate on the Visual Basic language, which currently does not have any compatible slicing tool except for multilanguage ones such as ORBS [27, 28]. Like any tool of this type, this consists of instrumenting the client source code and consuming the generated trace in its execution. Therefore, this work consists of implementing the tracing module for Visual Basic, and on the other hand, abstracting the analysis module to deal with both languages. In this work are detailed concepts related to slicing, those specific to DynAbs, and how this extension was developed. Finally, an adequate evaluation will be presented. It determined that several expressions of the language have been covered and that programs that have been previously evaluated in C # can also be treated nowadays.
Fil: De Rocco, Federico. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
Materia
PROGRAM ANALYSIS
PROGRAM SLICING
DYNAMIC SLICING
TRACING
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_nCOM000585_DeRocco

id BDUBAFCEN_dc233da8a95ba47a83b032b9186d705a
oai_identifier_str seminario:seminario_nCOM000585_DeRocco
network_acronym_str BDUBAFCEN
repository_id_str 1896
network_name_str Biblioteca Digital (UBA-FCEN)
spelling Slicing dinámico para lenguajes de la familia .NETDynamic slicing for .NET family languagesDe Rocco, FedericoPROGRAM ANALYSISPROGRAM SLICINGDYNAMIC SLICINGTRACINGSlicing dinámico es una técnica que se utiliza principalmente para facilitar la tarea de debugging[2], reduciendo el esfuerzo del programador encontrando aquellas líneas relevantes para un comportamiento dado[5]. Para construir un slice el enfoque clásico se basa en la búsqueda de dependencias entre las instrucciones del programa. Si bien en sus comienzos la técnica fue prometedora, hoy en día todavía persisten problemas de escalabilidad[30]. El grupo LaFHIS desarrolló en los últimos años DynAbs, un slicer de emisi´on/an´alisis de traza destinado a analizar c´odigo de alto nivel que intenta atacar parcialmente estos problemas de escalabilidad para aplicaciones C#. A pesar de los avances, la herramienta no ataca una de las deficiencias que tienen las herramientas de este tipo, que es la limitación de tratar un único lenguaje. En este trabajo se presenta una extensión para la herramienta para operar sobre el lenguaje Visual Basic, el cual actualmente no posee ninguna herramienta de slicing compatible exceptuando herramientas multilenguaje como ORBS [27, 28]. Como cualquier herramienta de este tipo, esta consiste en una parte destinada a instrumentar el código cliente y otra parte consumir la traza generada en su ejecución. Por lo tanto este trabajo consistió en implementar por un lado la funcionalidad necesaria para instrumentar código Visual Basic, y por otro, abstraer el módulo de análisis para que trate ambos lenguajes. A lo largo de este trabajo se detallan los conceptos relativos a slicing, los específicos a DynAbs y se explica cómo fue realizada esta extensión. Finalmente, se presentará una evaluación adecuada que determinó que han sido cubiertas suficientes expresiones del lenguaje y que efectivamente ahora se pueden tratar programas que han sido evaluados previamente en C#.Dynamic slicing is a technique that is mainly used by the programmers on debugging[2], reducing their efforts by finding those lines that are relevant to a given behavior[5]. To build a slice, the classic approach is based on finding control and data dependencies between the statements. Although the technique was promising in its beginnings, today persists scalability problems[30]. LaFHIS has developed in recent years DynAbs, a classical slicer designed for tracing high-level code that tries to partially solve these scalability problems for C # applications. Despite the advances, the tool does not attack one of the deficiencies that tools of this type have, which is the limitation of dealing with a single language. This work presents an extension for the tool to operate on the Visual Basic language, which currently does not have any compatible slicing tool except for multilanguage ones such as ORBS [27, 28]. Like any tool of this type, this consists of instrumenting the client source code and consuming the generated trace in its execution. Therefore, this work consists of implementing the tracing module for Visual Basic, and on the other hand, abstracting the analysis module to deal with both languages. In this work are detailed concepts related to slicing, those specific to DynAbs, and how this extension was developed. Finally, an adequate evaluation will be presented. It determined that several expressions of the language have been covered and that programs that have been previously evaluated in C # can also be treated nowadays.Fil: De Rocco, Federico. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.Universidad de Buenos Aires. Facultad de Ciencias Exactas y NaturalesSoifer, Alexis Damián2020info: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_nCOM000585_DeRoccospainfo: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-09-29T13:43:33Zseminario:seminario_nCOM000585_DeRoccoInstitucionalhttps://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-09-29 13:43:33.926Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesfalse
dc.title.none.fl_str_mv Slicing dinámico para lenguajes de la familia .NET
Dynamic slicing for .NET family languages
title Slicing dinámico para lenguajes de la familia .NET
spellingShingle Slicing dinámico para lenguajes de la familia .NET
De Rocco, Federico
PROGRAM ANALYSIS
PROGRAM SLICING
DYNAMIC SLICING
TRACING
title_short Slicing dinámico para lenguajes de la familia .NET
title_full Slicing dinámico para lenguajes de la familia .NET
title_fullStr Slicing dinámico para lenguajes de la familia .NET
title_full_unstemmed Slicing dinámico para lenguajes de la familia .NET
title_sort Slicing dinámico para lenguajes de la familia .NET
dc.creator.none.fl_str_mv De Rocco, Federico
author De Rocco, Federico
author_facet De Rocco, Federico
author_role author
dc.contributor.none.fl_str_mv Soifer, Alexis Damián
dc.subject.none.fl_str_mv PROGRAM ANALYSIS
PROGRAM SLICING
DYNAMIC SLICING
TRACING
topic PROGRAM ANALYSIS
PROGRAM SLICING
DYNAMIC SLICING
TRACING
dc.description.none.fl_txt_mv Slicing dinámico es una técnica que se utiliza principalmente para facilitar la tarea de debugging[2], reduciendo el esfuerzo del programador encontrando aquellas líneas relevantes para un comportamiento dado[5]. Para construir un slice el enfoque clásico se basa en la búsqueda de dependencias entre las instrucciones del programa. Si bien en sus comienzos la técnica fue prometedora, hoy en día todavía persisten problemas de escalabilidad[30]. El grupo LaFHIS desarrolló en los últimos años DynAbs, un slicer de emisi´on/an´alisis de traza destinado a analizar c´odigo de alto nivel que intenta atacar parcialmente estos problemas de escalabilidad para aplicaciones C#. A pesar de los avances, la herramienta no ataca una de las deficiencias que tienen las herramientas de este tipo, que es la limitación de tratar un único lenguaje. En este trabajo se presenta una extensión para la herramienta para operar sobre el lenguaje Visual Basic, el cual actualmente no posee ninguna herramienta de slicing compatible exceptuando herramientas multilenguaje como ORBS [27, 28]. Como cualquier herramienta de este tipo, esta consiste en una parte destinada a instrumentar el código cliente y otra parte consumir la traza generada en su ejecución. Por lo tanto este trabajo consistió en implementar por un lado la funcionalidad necesaria para instrumentar código Visual Basic, y por otro, abstraer el módulo de análisis para que trate ambos lenguajes. A lo largo de este trabajo se detallan los conceptos relativos a slicing, los específicos a DynAbs y se explica cómo fue realizada esta extensión. Finalmente, se presentará una evaluación adecuada que determinó que han sido cubiertas suficientes expresiones del lenguaje y que efectivamente ahora se pueden tratar programas que han sido evaluados previamente en C#.
Dynamic slicing is a technique that is mainly used by the programmers on debugging[2], reducing their efforts by finding those lines that are relevant to a given behavior[5]. To build a slice, the classic approach is based on finding control and data dependencies between the statements. Although the technique was promising in its beginnings, today persists scalability problems[30]. LaFHIS has developed in recent years DynAbs, a classical slicer designed for tracing high-level code that tries to partially solve these scalability problems for C # applications. Despite the advances, the tool does not attack one of the deficiencies that tools of this type have, which is the limitation of dealing with a single language. This work presents an extension for the tool to operate on the Visual Basic language, which currently does not have any compatible slicing tool except for multilanguage ones such as ORBS [27, 28]. Like any tool of this type, this consists of instrumenting the client source code and consuming the generated trace in its execution. Therefore, this work consists of implementing the tracing module for Visual Basic, and on the other hand, abstracting the analysis module to deal with both languages. In this work are detailed concepts related to slicing, those specific to DynAbs, and how this extension was developed. Finally, an adequate evaluation will be presented. It determined that several expressions of the language have been covered and that programs that have been previously evaluated in C # can also be treated nowadays.
Fil: De Rocco, Federico. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
description Slicing dinámico es una técnica que se utiliza principalmente para facilitar la tarea de debugging[2], reduciendo el esfuerzo del programador encontrando aquellas líneas relevantes para un comportamiento dado[5]. Para construir un slice el enfoque clásico se basa en la búsqueda de dependencias entre las instrucciones del programa. Si bien en sus comienzos la técnica fue prometedora, hoy en día todavía persisten problemas de escalabilidad[30]. El grupo LaFHIS desarrolló en los últimos años DynAbs, un slicer de emisi´on/an´alisis de traza destinado a analizar c´odigo de alto nivel que intenta atacar parcialmente estos problemas de escalabilidad para aplicaciones C#. A pesar de los avances, la herramienta no ataca una de las deficiencias que tienen las herramientas de este tipo, que es la limitación de tratar un único lenguaje. En este trabajo se presenta una extensión para la herramienta para operar sobre el lenguaje Visual Basic, el cual actualmente no posee ninguna herramienta de slicing compatible exceptuando herramientas multilenguaje como ORBS [27, 28]. Como cualquier herramienta de este tipo, esta consiste en una parte destinada a instrumentar el código cliente y otra parte consumir la traza generada en su ejecución. Por lo tanto este trabajo consistió en implementar por un lado la funcionalidad necesaria para instrumentar código Visual Basic, y por otro, abstraer el módulo de análisis para que trate ambos lenguajes. A lo largo de este trabajo se detallan los conceptos relativos a slicing, los específicos a DynAbs y se explica cómo fue realizada esta extensión. Finalmente, se presentará una evaluación adecuada que determinó que han sido cubiertas suficientes expresiones del lenguaje y que efectivamente ahora se pueden tratar programas que han sido evaluados previamente en C#.
publishDate 2020
dc.date.none.fl_str_mv 2020
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_nCOM000585_DeRocco
url https://hdl.handle.net/20.500.12110/seminario_nCOM000585_DeRocco
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_ 1844618753356070912
score 13.070432