Refactoring asistido mediante la detección automática de code smells

Autores
Castilla, Matías
Año de publicación
2014
Idioma
español castellano
Tipo de recurso
tesis de grado
Estado
versión aceptada
Colaborador/a o director/a de tesis
Garrido, Alejandra
Descripción
El ciclo de refactoring de código consiste en tres etapas: primero se identifica una parte del sistema cuyo diseño es deficiente, luego se elige el refactoring que resuelve el problema y, finalmente, se transforma el código fuente. Para asistir a los programadores en esta tarea, todos los IDEs modernos cuentan, en mayor o menor medida, con facilidades para aplicar refactorings de forma automática. Sin embargo, esta automatización se centra en la etapa final -es decir, en la transformación del código- cubriendo parcialmente, o no cubriendo en absoluto, la detección del problema y la selección del refactoring adecuado. En esta tesis se estudia la posibilidad de asistir al programador a lo largo de todo el ciclo, identificando automáticamente los problemas de diseño -definidos en base a la noción de code smell y detectados por medio de reglas lint-, sugiriendo los refactorings que podrían solucionarlos y ejecutando la transformación del código de forma interactiva. Como prueba de concepto, se desarrolla una extensión del ambiente Pharo Smalltalk que provee refactoring asistido en virtud de la vinculación del framework Small Lint con el framework de refactoring.
Licenciado en Sistemas
Universidad Nacional de La Plata
Facultad de Informática
Materia
Ciencias Informáticas
Code generation
refactoring
métricas
análisis de código
metodologías ágiles
Nivel de accesibilidad
acceso abierto
Condiciones de uso
http://creativecommons.org/licenses/by-nc-nd/4.0/
Repositorio
SEDICI (UNLP)
Institución
Universidad Nacional de La Plata
OAI Identificador
oai:sedici.unlp.edu.ar:10915/63701

id SEDICI_5b74d8babf91ea899098c90f140109b5
oai_identifier_str oai:sedici.unlp.edu.ar:10915/63701
network_acronym_str SEDICI
repository_id_str 1329
network_name_str SEDICI (UNLP)
spelling Refactoring asistido mediante la detección automática de code smellsCastilla, MatíasCiencias InformáticasCode generationrefactoringmétricasanálisis de códigometodologías ágilesEl ciclo de refactoring de código consiste en tres etapas: primero se identifica una parte del sistema cuyo diseño es deficiente, luego se elige el refactoring que resuelve el problema y, finalmente, se transforma el código fuente. Para asistir a los programadores en esta tarea, todos los IDEs modernos cuentan, en mayor o menor medida, con facilidades para aplicar refactorings de forma automática. Sin embargo, esta automatización se centra en la etapa final -es decir, en la transformación del código- cubriendo parcialmente, o no cubriendo en absoluto, la detección del problema y la selección del refactoring adecuado. En esta tesis se estudia la posibilidad de asistir al programador a lo largo de todo el ciclo, identificando automáticamente los problemas de diseño -definidos en base a la noción de code smell y detectados por medio de reglas lint-, sugiriendo los refactorings que podrían solucionarlos y ejecutando la transformación del código de forma interactiva. Como prueba de concepto, se desarrolla una extensión del ambiente Pharo Smalltalk que provee refactoring asistido en virtud de la vinculación del framework Small Lint con el framework de refactoring.Licenciado en SistemasUniversidad Nacional de La PlataFacultad de InformáticaGarrido, Alejandra2014-10info:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionTesis de gradohttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfhttp://sedici.unlp.edu.ar/handle/10915/63701spainfo:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by-nc-nd/4.0/Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)reponame:SEDICI (UNLP)instname:Universidad Nacional de La Platainstacron:UNLP2025-09-03T10:40:52Zoai:sedici.unlp.edu.ar:10915/63701Institucionalhttp://sedici.unlp.edu.ar/Universidad públicaNo correspondehttp://sedici.unlp.edu.ar/oai/snrdalira@sedici.unlp.edu.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:13292025-09-03 10:40:53.23SEDICI (UNLP) - Universidad Nacional de La Platafalse
dc.title.none.fl_str_mv Refactoring asistido mediante la detección automática de code smells
title Refactoring asistido mediante la detección automática de code smells
spellingShingle Refactoring asistido mediante la detección automática de code smells
Castilla, Matías
Ciencias Informáticas
Code generation
refactoring
métricas
análisis de código
metodologías ágiles
title_short Refactoring asistido mediante la detección automática de code smells
title_full Refactoring asistido mediante la detección automática de code smells
title_fullStr Refactoring asistido mediante la detección automática de code smells
title_full_unstemmed Refactoring asistido mediante la detección automática de code smells
title_sort Refactoring asistido mediante la detección automática de code smells
dc.creator.none.fl_str_mv Castilla, Matías
author Castilla, Matías
author_facet Castilla, Matías
author_role author
dc.contributor.none.fl_str_mv Garrido, Alejandra
dc.subject.none.fl_str_mv Ciencias Informáticas
Code generation
refactoring
métricas
análisis de código
metodologías ágiles
topic Ciencias Informáticas
Code generation
refactoring
métricas
análisis de código
metodologías ágiles
dc.description.none.fl_txt_mv El ciclo de refactoring de código consiste en tres etapas: primero se identifica una parte del sistema cuyo diseño es deficiente, luego se elige el refactoring que resuelve el problema y, finalmente, se transforma el código fuente. Para asistir a los programadores en esta tarea, todos los IDEs modernos cuentan, en mayor o menor medida, con facilidades para aplicar refactorings de forma automática. Sin embargo, esta automatización se centra en la etapa final -es decir, en la transformación del código- cubriendo parcialmente, o no cubriendo en absoluto, la detección del problema y la selección del refactoring adecuado. En esta tesis se estudia la posibilidad de asistir al programador a lo largo de todo el ciclo, identificando automáticamente los problemas de diseño -definidos en base a la noción de code smell y detectados por medio de reglas lint-, sugiriendo los refactorings que podrían solucionarlos y ejecutando la transformación del código de forma interactiva. Como prueba de concepto, se desarrolla una extensión del ambiente Pharo Smalltalk que provee refactoring asistido en virtud de la vinculación del framework Small Lint con el framework de refactoring.
Licenciado en Sistemas
Universidad Nacional de La Plata
Facultad de Informática
description El ciclo de refactoring de código consiste en tres etapas: primero se identifica una parte del sistema cuyo diseño es deficiente, luego se elige el refactoring que resuelve el problema y, finalmente, se transforma el código fuente. Para asistir a los programadores en esta tarea, todos los IDEs modernos cuentan, en mayor o menor medida, con facilidades para aplicar refactorings de forma automática. Sin embargo, esta automatización se centra en la etapa final -es decir, en la transformación del código- cubriendo parcialmente, o no cubriendo en absoluto, la detección del problema y la selección del refactoring adecuado. En esta tesis se estudia la posibilidad de asistir al programador a lo largo de todo el ciclo, identificando automáticamente los problemas de diseño -definidos en base a la noción de code smell y detectados por medio de reglas lint-, sugiriendo los refactorings que podrían solucionarlos y ejecutando la transformación del código de forma interactiva. Como prueba de concepto, se desarrolla una extensión del ambiente Pharo Smalltalk que provee refactoring asistido en virtud de la vinculación del framework Small Lint con el framework de refactoring.
publishDate 2014
dc.date.none.fl_str_mv 2014-10
dc.type.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
info:eu-repo/semantics/acceptedVersion
Tesis de grado
http://purl.org/coar/resource_type/c_7a1f
info:ar-repo/semantics/tesisDeGrado
format bachelorThesis
status_str acceptedVersion
dc.identifier.none.fl_str_mv http://sedici.unlp.edu.ar/handle/10915/63701
url http://sedici.unlp.edu.ar/handle/10915/63701
dc.language.none.fl_str_mv spa
language spa
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
http://creativecommons.org/licenses/by-nc-nd/4.0/
Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)
eu_rights_str_mv openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-nd/4.0/
Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:SEDICI (UNLP)
instname:Universidad Nacional de La Plata
instacron:UNLP
reponame_str SEDICI (UNLP)
collection SEDICI (UNLP)
instname_str Universidad Nacional de La Plata
instacron_str UNLP
institution UNLP
repository.name.fl_str_mv SEDICI (UNLP) - Universidad Nacional de La Plata
repository.mail.fl_str_mv alira@sedici.unlp.edu.ar
_version_ 1842260274658148352
score 13.13397