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
- Institución
- Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
- OAI Identificador
- seminario:seminario_nCOM000585_DeRocco
Ver los metadatos del registro completo
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 |