Refactorización automatizada para la eliminación de Feature Envy

Autores
Antivero, Juan Pablo; Arias, Lucas
Año de publicación
2018
Idioma
español castellano
Tipo de recurso
tesis de grado
Estado
versión aceptada
Colaborador/a o director/a de tesis
Vidal, Santiago A.
Marcos, Claudia A.
Descripción
Para realizar el refactoring de una Feature Envy, se deben realizar dos pasos fundamentales: identificar la oportunidad de refactoring, y luego aplicarla. Las herramientas analizadas en esta sección tienen una particularidad: una vez identificada la Feature Envy, el único refactoring recomendado y/o aplicado es Move Method. Ninguna herramienta considera una extracción previa. En cuanto a las posibles acciones realizadas por las herramientas, se pueden clasificar en tres enfoques: Recomendación: Las herramientas incluidas en esta categoría sólo encuentran métodos candidatos y recomiendan la aplicación del refactoring. No distinguen si el refactoring es posible o si realmente se soluciona la Feature Envy al aplicarlo. En este grupo se encuentran las herramientas MethodBook, MORE, c-JRecRef y Jmove (las cuales serán analizadas en este capítulo). Aplicación: Las herramientas incluidas en esta categoría realizan el refactoring propiamente dicho, es decir, mueven el método de una clase a otra. No realizan ningún tipo de análisis o recomendación en cuanto al método que se desea mover, únicamente realizan el Move Method siempre y cuando se cumpla la regla de no modificar el comportamiento del sistema ni generar errores de sintaxis. Un ejemplo representativo de este grupo es la API nativa de Eclipse. Recomendación y Aplicación: Las herramientas incluidas en esta categoría realizan por completo el proceso de eliminación de code smells. Son más complejas que las anteriores, ya que realizan ambos procedimientos e intentan obtener un resultado válido. Son las únicas que automatizan por completo el proceso de refactorización de Feature Envy. En este grupo se encuentra únicamente la herramienta JDeodorant. Párrafo extraído de la tesis de grado a modo de resumen.
Fil: Antivero, Juan Pablo. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina.
Fil: Arias, Lucas. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina.
Fil: Vidal, Santiago A. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina.
Fil: Marcos, Claudia A. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina.
Materia
Feature Envy
Refactorización de Feature Envy
Calidad de software
Code smells
Software
Bandago
Ingeniería de sistemas
Nivel de accesibilidad
acceso abierto
Condiciones de uso
http://creativecommons.org/licenses/by/2.5/ar/
Repositorio
RIDAA (UNICEN)
Institución
Universidad Nacional del Centro de la Provincia de Buenos Aires
OAI Identificador
oai:ridaa.unicen.edu.ar:123456789/2011

id RIDUNICEN_03b21ed2d1caffe7bb644319e4ab08fb
oai_identifier_str oai:ridaa.unicen.edu.ar:123456789/2011
network_acronym_str RIDUNICEN
repository_id_str a
network_name_str RIDAA (UNICEN)
spelling Refactorización automatizada para la eliminación de Feature EnvyAntivero, Juan PabloArias, LucasFeature EnvyRefactorización de Feature EnvyCalidad de softwareCode smellsSoftwareBandagoIngeniería de sistemasPara realizar el refactoring de una Feature Envy, se deben realizar dos pasos fundamentales: identificar la oportunidad de refactoring, y luego aplicarla. Las herramientas analizadas en esta sección tienen una particularidad: una vez identificada la Feature Envy, el único refactoring recomendado y/o aplicado es Move Method. Ninguna herramienta considera una extracción previa. En cuanto a las posibles acciones realizadas por las herramientas, se pueden clasificar en tres enfoques: Recomendación: Las herramientas incluidas en esta categoría sólo encuentran métodos candidatos y recomiendan la aplicación del refactoring. No distinguen si el refactoring es posible o si realmente se soluciona la Feature Envy al aplicarlo. En este grupo se encuentran las herramientas MethodBook, MORE, c-JRecRef y Jmove (las cuales serán analizadas en este capítulo). Aplicación: Las herramientas incluidas en esta categoría realizan el refactoring propiamente dicho, es decir, mueven el método de una clase a otra. No realizan ningún tipo de análisis o recomendación en cuanto al método que se desea mover, únicamente realizan el Move Method siempre y cuando se cumpla la regla de no modificar el comportamiento del sistema ni generar errores de sintaxis. Un ejemplo representativo de este grupo es la API nativa de Eclipse. Recomendación y Aplicación: Las herramientas incluidas en esta categoría realizan por completo el proceso de eliminación de code smells. Son más complejas que las anteriores, ya que realizan ambos procedimientos e intentan obtener un resultado válido. Son las únicas que automatizan por completo el proceso de refactorización de Feature Envy. En este grupo se encuentra únicamente la herramienta JDeodorant. Párrafo extraído de la tesis de grado a modo de resumen.Fil: Antivero, Juan Pablo. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina.Fil: Arias, Lucas. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina.Fil: Vidal, Santiago A. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina.Fil: Marcos, Claudia A. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina.Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias ExactasVidal, Santiago A.Marcos, Claudia A.2018-122019-05-30T14:51:27Z2019-05-30T14:51:27Zinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfapplication/pdfhttps://www.ridaa.unicen.edu.ar/handle/123456789/2011spahttp://creativecommons.org/licenses/by/2.5/ar/info:eu-repo/semantics/openAccessreponame:RIDAA (UNICEN)instname:Universidad Nacional del Centro de la Provincia de Buenos Aires2025-09-11T10:19:06Zoai:ridaa.unicen.edu.ar:123456789/2011instacron:UNICENInstitucionalhttps://www.ridaa.unicen.edu.ar/Universidad públicaNo correspondehttps://www.ridaa.unicen.edu.ar/oailleiboff@rec.unicen.edu.ar;gimeroni@rec.unicen.edu.ar;lvarela@rec.unicen.edu.ar ;ArgentinaNo correspondeNo correspondeNo correspondeopendoar:a2025-09-11 10:19:06.852RIDAA (UNICEN) - Universidad Nacional del Centro de la Provincia de Buenos Airesfalse
dc.title.none.fl_str_mv Refactorización automatizada para la eliminación de Feature Envy
title Refactorización automatizada para la eliminación de Feature Envy
spellingShingle Refactorización automatizada para la eliminación de Feature Envy
Antivero, Juan Pablo
Feature Envy
Refactorización de Feature Envy
Calidad de software
Code smells
Software
Bandago
Ingeniería de sistemas
title_short Refactorización automatizada para la eliminación de Feature Envy
title_full Refactorización automatizada para la eliminación de Feature Envy
title_fullStr Refactorización automatizada para la eliminación de Feature Envy
title_full_unstemmed Refactorización automatizada para la eliminación de Feature Envy
title_sort Refactorización automatizada para la eliminación de Feature Envy
dc.creator.none.fl_str_mv Antivero, Juan Pablo
Arias, Lucas
author Antivero, Juan Pablo
author_facet Antivero, Juan Pablo
Arias, Lucas
author_role author
author2 Arias, Lucas
author2_role author
dc.contributor.none.fl_str_mv Vidal, Santiago A.
Marcos, Claudia A.
dc.subject.none.fl_str_mv Feature Envy
Refactorización de Feature Envy
Calidad de software
Code smells
Software
Bandago
Ingeniería de sistemas
topic Feature Envy
Refactorización de Feature Envy
Calidad de software
Code smells
Software
Bandago
Ingeniería de sistemas
dc.description.none.fl_txt_mv Para realizar el refactoring de una Feature Envy, se deben realizar dos pasos fundamentales: identificar la oportunidad de refactoring, y luego aplicarla. Las herramientas analizadas en esta sección tienen una particularidad: una vez identificada la Feature Envy, el único refactoring recomendado y/o aplicado es Move Method. Ninguna herramienta considera una extracción previa. En cuanto a las posibles acciones realizadas por las herramientas, se pueden clasificar en tres enfoques: Recomendación: Las herramientas incluidas en esta categoría sólo encuentran métodos candidatos y recomiendan la aplicación del refactoring. No distinguen si el refactoring es posible o si realmente se soluciona la Feature Envy al aplicarlo. En este grupo se encuentran las herramientas MethodBook, MORE, c-JRecRef y Jmove (las cuales serán analizadas en este capítulo). Aplicación: Las herramientas incluidas en esta categoría realizan el refactoring propiamente dicho, es decir, mueven el método de una clase a otra. No realizan ningún tipo de análisis o recomendación en cuanto al método que se desea mover, únicamente realizan el Move Method siempre y cuando se cumpla la regla de no modificar el comportamiento del sistema ni generar errores de sintaxis. Un ejemplo representativo de este grupo es la API nativa de Eclipse. Recomendación y Aplicación: Las herramientas incluidas en esta categoría realizan por completo el proceso de eliminación de code smells. Son más complejas que las anteriores, ya que realizan ambos procedimientos e intentan obtener un resultado válido. Son las únicas que automatizan por completo el proceso de refactorización de Feature Envy. En este grupo se encuentra únicamente la herramienta JDeodorant. Párrafo extraído de la tesis de grado a modo de resumen.
Fil: Antivero, Juan Pablo. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina.
Fil: Arias, Lucas. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina.
Fil: Vidal, Santiago A. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina.
Fil: Marcos, Claudia A. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina.
description Para realizar el refactoring de una Feature Envy, se deben realizar dos pasos fundamentales: identificar la oportunidad de refactoring, y luego aplicarla. Las herramientas analizadas en esta sección tienen una particularidad: una vez identificada la Feature Envy, el único refactoring recomendado y/o aplicado es Move Method. Ninguna herramienta considera una extracción previa. En cuanto a las posibles acciones realizadas por las herramientas, se pueden clasificar en tres enfoques: Recomendación: Las herramientas incluidas en esta categoría sólo encuentran métodos candidatos y recomiendan la aplicación del refactoring. No distinguen si el refactoring es posible o si realmente se soluciona la Feature Envy al aplicarlo. En este grupo se encuentran las herramientas MethodBook, MORE, c-JRecRef y Jmove (las cuales serán analizadas en este capítulo). Aplicación: Las herramientas incluidas en esta categoría realizan el refactoring propiamente dicho, es decir, mueven el método de una clase a otra. No realizan ningún tipo de análisis o recomendación en cuanto al método que se desea mover, únicamente realizan el Move Method siempre y cuando se cumpla la regla de no modificar el comportamiento del sistema ni generar errores de sintaxis. Un ejemplo representativo de este grupo es la API nativa de Eclipse. Recomendación y Aplicación: Las herramientas incluidas en esta categoría realizan por completo el proceso de eliminación de code smells. Son más complejas que las anteriores, ya que realizan ambos procedimientos e intentan obtener un resultado válido. Son las únicas que automatizan por completo el proceso de refactorización de Feature Envy. En este grupo se encuentra únicamente la herramienta JDeodorant. Párrafo extraído de la tesis de grado a modo de resumen.
publishDate 2018
dc.date.none.fl_str_mv 2018-12
2019-05-30T14:51:27Z
2019-05-30T14:51:27Z
dc.type.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
info:eu-repo/semantics/acceptedVersion
http://purl.org/coar/resource_type/c_7a1f
info:ar-repo/semantics/tesisDeGrado
format bachelorThesis
status_str acceptedVersion
dc.identifier.none.fl_str_mv https://www.ridaa.unicen.edu.ar/handle/123456789/2011
url https://www.ridaa.unicen.edu.ar/handle/123456789/2011
dc.language.none.fl_str_mv spa
language spa
dc.rights.none.fl_str_mv http://creativecommons.org/licenses/by/2.5/ar/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by/2.5/ar/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
application/pdf
dc.publisher.none.fl_str_mv Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas
publisher.none.fl_str_mv Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas
dc.source.none.fl_str_mv reponame:RIDAA (UNICEN)
instname:Universidad Nacional del Centro de la Provincia de Buenos Aires
reponame_str RIDAA (UNICEN)
collection RIDAA (UNICEN)
instname_str Universidad Nacional del Centro de la Provincia de Buenos Aires
repository.name.fl_str_mv RIDAA (UNICEN) - Universidad Nacional del Centro de la Provincia de Buenos Aires
repository.mail.fl_str_mv lleiboff@rec.unicen.edu.ar;gimeroni@rec.unicen.edu.ar;lvarela@rec.unicen.edu.ar ;
_version_ 1842975323107360768
score 12.993085