Implementación de refactorings automáticos en lenguajes con LiveTyping
- Autores
- Balboa, Fernando
- Año de publicación
- 2022
- Idioma
- español castellano
- Tipo de recurso
- tesis de grado
- Estado
- versión publicada
- Colaborador/a o director/a de tesis
- Wilkinson, Hernán Alfredo
- Descripción
- Todo programa tiene un ciclo de vida. La expectativa de vida del software en general crece junto con su tamaño y complejidad, y el desarrollo suele estar atado a un presupuesto acotado. A medida que el codebase muta y se vuelve más complejo, también se vuelve más difícil de mantener. Una de las herramientas más frecuentes, que se encuentra por defecto en muchas de las IDEs comerciales, son los refactorings automáticos. Se conoce como refactoring a la acción de reestructurar el código, manteniendo su comportamiento actual. El objetivo de estos cambios queda a discreción del programador, aunque suele ser mejorar algún aspecto de mantenibilidad del código. La automatización de las reestructuraciones provee dos ventajas. La primera es que aseguran al programador que el cambio que está introduciendo es seguro en términos de comportamiento, porque eliminan la posibilidad de error humano. La segunda es que promueven su uso frecuente para mejorar la mantenibilidad, haciendo que sean muy poco costosas en términos de tiempo y esfuerzo para el programador. Este trabajo se enfoca en el desarrollo de dos refactorings automáticos: Inline Temporary Variable e Inline Method, ambos implementados en el lenguaje Smalltalk-80. La plataforma en la cual fueron integrados es Cuis University, la cual provee un sistema de recolección de datos de tipado (LiveTyping) que puede ser utilizado para mejorar la calidad de las herramientas. Uno de los objetivos principales es la exploración de las dificultades de implementación de los mismos en un lenguaje con tipado dinámico y cómo puede aprovecharse la información de LiveTyping en los refactorings automáticos.
Fil: Balboa, Fernando. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina. - Materia
-
REFACTORING
PARSER
PARSE NODE
SOURCE RANGE
AST
INTEFAZ
TEST
TDD - 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_nCOM000549_Balboa
Ver los metadatos del registro completo
id |
BDUBAFCEN_7fee08f180a38397443e256e9059dd4f |
---|---|
oai_identifier_str |
seminario:seminario_nCOM000549_Balboa |
network_acronym_str |
BDUBAFCEN |
repository_id_str |
1896 |
network_name_str |
Biblioteca Digital (UBA-FCEN) |
spelling |
Implementación de refactorings automáticos en lenguajes con LiveTypingBalboa, FernandoREFACTORINGPARSERPARSE NODESOURCE RANGEASTINTEFAZTESTTDDTodo programa tiene un ciclo de vida. La expectativa de vida del software en general crece junto con su tamaño y complejidad, y el desarrollo suele estar atado a un presupuesto acotado. A medida que el codebase muta y se vuelve más complejo, también se vuelve más difícil de mantener. Una de las herramientas más frecuentes, que se encuentra por defecto en muchas de las IDEs comerciales, son los refactorings automáticos. Se conoce como refactoring a la acción de reestructurar el código, manteniendo su comportamiento actual. El objetivo de estos cambios queda a discreción del programador, aunque suele ser mejorar algún aspecto de mantenibilidad del código. La automatización de las reestructuraciones provee dos ventajas. La primera es que aseguran al programador que el cambio que está introduciendo es seguro en términos de comportamiento, porque eliminan la posibilidad de error humano. La segunda es que promueven su uso frecuente para mejorar la mantenibilidad, haciendo que sean muy poco costosas en términos de tiempo y esfuerzo para el programador. Este trabajo se enfoca en el desarrollo de dos refactorings automáticos: Inline Temporary Variable e Inline Method, ambos implementados en el lenguaje Smalltalk-80. La plataforma en la cual fueron integrados es Cuis University, la cual provee un sistema de recolección de datos de tipado (LiveTyping) que puede ser utilizado para mejorar la calidad de las herramientas. Uno de los objetivos principales es la exploración de las dificultades de implementación de los mismos en un lenguaje con tipado dinámico y cómo puede aprovecharse la información de LiveTyping en los refactorings automáticos.Fil: Balboa, Fernando. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.Universidad de Buenos Aires. Facultad de Ciencias Exactas y NaturalesWilkinson, Hernán Alfredo2022info: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_nCOM000549_Balboaspainfo: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-04T09:49:19Zseminario:seminario_nCOM000549_BalboaInstitucionalhttps://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-04 09:49:20.019Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesfalse |
dc.title.none.fl_str_mv |
Implementación de refactorings automáticos en lenguajes con LiveTyping |
title |
Implementación de refactorings automáticos en lenguajes con LiveTyping |
spellingShingle |
Implementación de refactorings automáticos en lenguajes con LiveTyping Balboa, Fernando REFACTORING PARSER PARSE NODE SOURCE RANGE AST INTEFAZ TEST TDD |
title_short |
Implementación de refactorings automáticos en lenguajes con LiveTyping |
title_full |
Implementación de refactorings automáticos en lenguajes con LiveTyping |
title_fullStr |
Implementación de refactorings automáticos en lenguajes con LiveTyping |
title_full_unstemmed |
Implementación de refactorings automáticos en lenguajes con LiveTyping |
title_sort |
Implementación de refactorings automáticos en lenguajes con LiveTyping |
dc.creator.none.fl_str_mv |
Balboa, Fernando |
author |
Balboa, Fernando |
author_facet |
Balboa, Fernando |
author_role |
author |
dc.contributor.none.fl_str_mv |
Wilkinson, Hernán Alfredo |
dc.subject.none.fl_str_mv |
REFACTORING PARSER PARSE NODE SOURCE RANGE AST INTEFAZ TEST TDD |
topic |
REFACTORING PARSER PARSE NODE SOURCE RANGE AST INTEFAZ TEST TDD |
dc.description.none.fl_txt_mv |
Todo programa tiene un ciclo de vida. La expectativa de vida del software en general crece junto con su tamaño y complejidad, y el desarrollo suele estar atado a un presupuesto acotado. A medida que el codebase muta y se vuelve más complejo, también se vuelve más difícil de mantener. Una de las herramientas más frecuentes, que se encuentra por defecto en muchas de las IDEs comerciales, son los refactorings automáticos. Se conoce como refactoring a la acción de reestructurar el código, manteniendo su comportamiento actual. El objetivo de estos cambios queda a discreción del programador, aunque suele ser mejorar algún aspecto de mantenibilidad del código. La automatización de las reestructuraciones provee dos ventajas. La primera es que aseguran al programador que el cambio que está introduciendo es seguro en términos de comportamiento, porque eliminan la posibilidad de error humano. La segunda es que promueven su uso frecuente para mejorar la mantenibilidad, haciendo que sean muy poco costosas en términos de tiempo y esfuerzo para el programador. Este trabajo se enfoca en el desarrollo de dos refactorings automáticos: Inline Temporary Variable e Inline Method, ambos implementados en el lenguaje Smalltalk-80. La plataforma en la cual fueron integrados es Cuis University, la cual provee un sistema de recolección de datos de tipado (LiveTyping) que puede ser utilizado para mejorar la calidad de las herramientas. Uno de los objetivos principales es la exploración de las dificultades de implementación de los mismos en un lenguaje con tipado dinámico y cómo puede aprovecharse la información de LiveTyping en los refactorings automáticos. Fil: Balboa, Fernando. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina. |
description |
Todo programa tiene un ciclo de vida. La expectativa de vida del software en general crece junto con su tamaño y complejidad, y el desarrollo suele estar atado a un presupuesto acotado. A medida que el codebase muta y se vuelve más complejo, también se vuelve más difícil de mantener. Una de las herramientas más frecuentes, que se encuentra por defecto en muchas de las IDEs comerciales, son los refactorings automáticos. Se conoce como refactoring a la acción de reestructurar el código, manteniendo su comportamiento actual. El objetivo de estos cambios queda a discreción del programador, aunque suele ser mejorar algún aspecto de mantenibilidad del código. La automatización de las reestructuraciones provee dos ventajas. La primera es que aseguran al programador que el cambio que está introduciendo es seguro en términos de comportamiento, porque eliminan la posibilidad de error humano. La segunda es que promueven su uso frecuente para mejorar la mantenibilidad, haciendo que sean muy poco costosas en términos de tiempo y esfuerzo para el programador. Este trabajo se enfoca en el desarrollo de dos refactorings automáticos: Inline Temporary Variable e Inline Method, ambos implementados en el lenguaje Smalltalk-80. La plataforma en la cual fueron integrados es Cuis University, la cual provee un sistema de recolección de datos de tipado (LiveTyping) que puede ser utilizado para mejorar la calidad de las herramientas. Uno de los objetivos principales es la exploración de las dificultades de implementación de los mismos en un lenguaje con tipado dinámico y cómo puede aprovecharse la información de LiveTyping en los refactorings automáticos. |
publishDate |
2022 |
dc.date.none.fl_str_mv |
2022 |
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_nCOM000549_Balboa |
url |
https://hdl.handle.net/20.500.12110/seminario_nCOM000549_Balboa |
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_ |
1842340717722075136 |
score |
12.623145 |