Implementación de refactorings automáticos en lenguajes con LiveTyping

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 herr...

Descripción completa

Guardado en:
Detalles Bibliográficos
Autor principal: Balboa, Fernando
Otros Autores: Wilkinson, Hernán Alfredo
Formato: Tesis de grado publishedVersion
Lenguaje:Español
Publicado: Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales 2022
Materias:
AST
TDD
Acceso en línea:https://hdl.handle.net/20.500.12110/seminario_nCOM000549_Balboa
Aporte de:
id seminario:seminario_nCOM000549_Balboa
record_format dspace
spelling seminario:seminario_nCOM000549_Balboa2025-08-08T16:49:58Z Implementación de refactorings automáticos en lenguajes con LiveTyping Balboa, Fernando Wilkinson, Hernán Alfredo REFACTORING PARSER PARSE NODE SOURCE RANGE AST INTEFAZ TEST TDD 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. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales 2022 info:eu-repo/semantics/bachelorThesis info:ar-repo/semantics/tesis de grado info:eu-repo/semantics/publishedVersion application/pdf spa info:eu-repo/semantics/openAccess https://creativecommons.org/licenses/by-nc-sa/2.5/ar https://hdl.handle.net/20.500.12110/seminario_nCOM000549_Balboa
institution Universidad de Buenos Aires
institution_str I-28
repository_str R-134
collection Biblioteca Digital - Facultad de Ciencias Exactas y Naturales (UBA)
language Español
orig_language_str_mv spa
topic REFACTORING
PARSER
PARSE NODE
SOURCE RANGE
AST
INTEFAZ
TEST
TDD
spellingShingle REFACTORING
PARSER
PARSE NODE
SOURCE RANGE
AST
INTEFAZ
TEST
TDD
Balboa, Fernando
Implementación de refactorings automáticos en lenguajes con LiveTyping
topic_facet REFACTORING
PARSER
PARSE NODE
SOURCE RANGE
AST
INTEFAZ
TEST
TDD
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.
author2 Wilkinson, Hernán Alfredo
author_facet Wilkinson, Hernán Alfredo
Balboa, Fernando
format Tesis de grado
Tesis de grado
publishedVersion
author Balboa, Fernando
author_sort Balboa, Fernando
title Implementación de refactorings automáticos en lenguajes con LiveTyping
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
publisher Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
publishDate 2022
url https://hdl.handle.net/20.500.12110/seminario_nCOM000549_Balboa
work_keys_str_mv AT balboafernando implementacionderefactoringsautomaticosenlenguajesconlivetyping
_version_ 1843125815456301056