Análisis de dependencias entre refactorings para solucionar code smells
- Autores
- Marcos, Claudia Andrea; Vidal, Santiago Agustín; Diaz Pace, Jorge Andres
- Año de publicación
- 2018
- Idioma
- español castellano
- Tipo de recurso
- artículo
- Estado
- versión publicada
- Descripción
- Los code smells son síntomas en el código fuente que pueden revelar problemas de diseño. Para poder solucionar un smell deben aplicarse un conjunto de refactorings que permitan restructurar el sistema. Sin embargo, al aplicar un conjunto de refactorings en un orden determinado, pueden surgir problemas que impiden que éstos se apliquen. Por ejemplo, porque un refactoring que depende de una reestructuración realizada por otro refactoring que aún no fue aplicado, o porque un refactoring referencia un artefacto del sistema que fue modificado por un refactoring aplicado anteriormente. Por estos motivos, para aplicar un conjunto de refactorings, se deben analizar las dependencias que existen entre estos para poder establecer el orden de aplicación. En esta línea, este trabajo presenta una herramienta que identifica y soluciona los conflictos originados por dependencias entre refactorings para luego aplicar automáticamente los mismos. Los resultados, si bien son preliminares, indican que este enfoque permite identificar y solucionar un alto porcentaje de conflictos.
Code smells are symptoms in the source code that can reveal design problems. To fix a smell, a set of refactorings must be applied that allow the restructure of the system. However, by applying a set of refactorings in a given order, problems can arise that prevent them from being applied. For example, a refactoring could depend on a restructuring made by another refactoring that was not yet applied, or a refactoring could reference a system artifact that was modified by a previously applied refactoring. For these reasons, to apply a set of refactorings, the developer must analyze the dependencies that exist between them to be able to establish the order of application. In this line, this work presents a tool that identifies and solves the conflicts originated by dependencies between refactorings and then automatically apply them. The results, although preliminary, indicate that this approach allows identifying and solving a high percentage of conflicts.
Fil: Marcos, Claudia Andrea. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Tandil. Instituto Superior de Ingeniería del Software. Universidad Nacional del Centro de la Provincia de Buenos Aires. Instituto Superior de Ingeniería del Software; Argentina
Fil: Vidal, Santiago Agustín. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Tandil. Instituto Superior de Ingeniería del Software. Universidad Nacional del Centro de la Provincia de Buenos Aires. Instituto Superior de Ingeniería del Software; Argentina
Fil: Diaz Pace, Jorge Andres. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Tandil. Instituto Superior de Ingeniería del Software. Universidad Nacional del Centro de la Provincia de Buenos Aires. Instituto Superior de Ingeniería del Software; Argentina - Materia
-
code smells
refactoring
evolución de software - Nivel de accesibilidad
- acceso abierto
- Condiciones de uso
- https://creativecommons.org/licenses/by-nc/2.5/ar/
- Repositorio
- Institución
- Consejo Nacional de Investigaciones Científicas y Técnicas
- OAI Identificador
- oai:ri.conicet.gov.ar:11336/123052
Ver los metadatos del registro completo
id |
CONICETDig_e2425a6c0bb441c8c4a807be2738ec81 |
---|---|
oai_identifier_str |
oai:ri.conicet.gov.ar:11336/123052 |
network_acronym_str |
CONICETDig |
repository_id_str |
3498 |
network_name_str |
CONICET Digital (CONICET) |
spelling |
Análisis de dependencias entre refactorings para solucionar code smellsMarcos, Claudia AndreaVidal, Santiago AgustínDiaz Pace, Jorge Andrescode smellsrefactoringevolución de softwarehttps://purl.org/becyt/ford/1.2https://purl.org/becyt/ford/1Los code smells son síntomas en el código fuente que pueden revelar problemas de diseño. Para poder solucionar un smell deben aplicarse un conjunto de refactorings que permitan restructurar el sistema. Sin embargo, al aplicar un conjunto de refactorings en un orden determinado, pueden surgir problemas que impiden que éstos se apliquen. Por ejemplo, porque un refactoring que depende de una reestructuración realizada por otro refactoring que aún no fue aplicado, o porque un refactoring referencia un artefacto del sistema que fue modificado por un refactoring aplicado anteriormente. Por estos motivos, para aplicar un conjunto de refactorings, se deben analizar las dependencias que existen entre estos para poder establecer el orden de aplicación. En esta línea, este trabajo presenta una herramienta que identifica y soluciona los conflictos originados por dependencias entre refactorings para luego aplicar automáticamente los mismos. Los resultados, si bien son preliminares, indican que este enfoque permite identificar y solucionar un alto porcentaje de conflictos.Code smells are symptoms in the source code that can reveal design problems. To fix a smell, a set of refactorings must be applied that allow the restructure of the system. However, by applying a set of refactorings in a given order, problems can arise that prevent them from being applied. For example, a refactoring could depend on a restructuring made by another refactoring that was not yet applied, or a refactoring could reference a system artifact that was modified by a previously applied refactoring. For these reasons, to apply a set of refactorings, the developer must analyze the dependencies that exist between them to be able to establish the order of application. In this line, this work presents a tool that identifies and solves the conflicts originated by dependencies between refactorings and then automatically apply them. The results, although preliminary, indicate that this approach allows identifying and solving a high percentage of conflicts.Fil: Marcos, Claudia Andrea. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Tandil. Instituto Superior de Ingeniería del Software. Universidad Nacional del Centro de la Provincia de Buenos Aires. Instituto Superior de Ingeniería del Software; ArgentinaFil: Vidal, Santiago Agustín. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Tandil. Instituto Superior de Ingeniería del Software. Universidad Nacional del Centro de la Provincia de Buenos Aires. Instituto Superior de Ingeniería del Software; ArgentinaFil: Diaz Pace, Jorge Andres. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Tandil. Instituto Superior de Ingeniería del Software. Universidad Nacional del Centro de la Provincia de Buenos Aires. Instituto Superior de Ingeniería del Software; ArgentinaUniversidad Tecnológica Nacional2018-09info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_6501info:ar-repo/semantics/articuloapplication/pdfapplication/pdfhttp://hdl.handle.net/11336/123052Marcos, Claudia Andrea; Vidal, Santiago Agustín; Diaz Pace, Jorge Andres; Análisis de dependencias entre refactorings para solucionar code smells; Universidad Tecnológica Nacional; Revista Tecnología y Ciencia; 33; 9-2018; 1-221666-6933CONICET DigitalCONICETspainfo:eu-repo/semantics/altIdentifier/url/http://rtyc.utn.edu.ar/index.php/rtyc/article/view/25info:eu-repo/semantics/altIdentifier/doi/10.33414/rtyc.33.1-22.2018info:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc/2.5/ar/reponame:CONICET Digital (CONICET)instname:Consejo Nacional de Investigaciones Científicas y Técnicas2025-09-03T09:49:48Zoai:ri.conicet.gov.ar:11336/123052instacron:CONICETInstitucionalhttp://ri.conicet.gov.ar/Organismo científico-tecnológicoNo correspondehttp://ri.conicet.gov.ar/oai/requestdasensio@conicet.gov.ar; lcarlino@conicet.gov.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:34982025-09-03 09:49:48.79CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicasfalse |
dc.title.none.fl_str_mv |
Análisis de dependencias entre refactorings para solucionar code smells |
title |
Análisis de dependencias entre refactorings para solucionar code smells |
spellingShingle |
Análisis de dependencias entre refactorings para solucionar code smells Marcos, Claudia Andrea code smells refactoring evolución de software |
title_short |
Análisis de dependencias entre refactorings para solucionar code smells |
title_full |
Análisis de dependencias entre refactorings para solucionar code smells |
title_fullStr |
Análisis de dependencias entre refactorings para solucionar code smells |
title_full_unstemmed |
Análisis de dependencias entre refactorings para solucionar code smells |
title_sort |
Análisis de dependencias entre refactorings para solucionar code smells |
dc.creator.none.fl_str_mv |
Marcos, Claudia Andrea Vidal, Santiago Agustín Diaz Pace, Jorge Andres |
author |
Marcos, Claudia Andrea |
author_facet |
Marcos, Claudia Andrea Vidal, Santiago Agustín Diaz Pace, Jorge Andres |
author_role |
author |
author2 |
Vidal, Santiago Agustín Diaz Pace, Jorge Andres |
author2_role |
author author |
dc.subject.none.fl_str_mv |
code smells refactoring evolución de software |
topic |
code smells refactoring evolución de software |
purl_subject.fl_str_mv |
https://purl.org/becyt/ford/1.2 https://purl.org/becyt/ford/1 |
dc.description.none.fl_txt_mv |
Los code smells son síntomas en el código fuente que pueden revelar problemas de diseño. Para poder solucionar un smell deben aplicarse un conjunto de refactorings que permitan restructurar el sistema. Sin embargo, al aplicar un conjunto de refactorings en un orden determinado, pueden surgir problemas que impiden que éstos se apliquen. Por ejemplo, porque un refactoring que depende de una reestructuración realizada por otro refactoring que aún no fue aplicado, o porque un refactoring referencia un artefacto del sistema que fue modificado por un refactoring aplicado anteriormente. Por estos motivos, para aplicar un conjunto de refactorings, se deben analizar las dependencias que existen entre estos para poder establecer el orden de aplicación. En esta línea, este trabajo presenta una herramienta que identifica y soluciona los conflictos originados por dependencias entre refactorings para luego aplicar automáticamente los mismos. Los resultados, si bien son preliminares, indican que este enfoque permite identificar y solucionar un alto porcentaje de conflictos. Code smells are symptoms in the source code that can reveal design problems. To fix a smell, a set of refactorings must be applied that allow the restructure of the system. However, by applying a set of refactorings in a given order, problems can arise that prevent them from being applied. For example, a refactoring could depend on a restructuring made by another refactoring that was not yet applied, or a refactoring could reference a system artifact that was modified by a previously applied refactoring. For these reasons, to apply a set of refactorings, the developer must analyze the dependencies that exist between them to be able to establish the order of application. In this line, this work presents a tool that identifies and solves the conflicts originated by dependencies between refactorings and then automatically apply them. The results, although preliminary, indicate that this approach allows identifying and solving a high percentage of conflicts. Fil: Marcos, Claudia Andrea. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Tandil. Instituto Superior de Ingeniería del Software. Universidad Nacional del Centro de la Provincia de Buenos Aires. Instituto Superior de Ingeniería del Software; Argentina Fil: Vidal, Santiago Agustín. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Tandil. Instituto Superior de Ingeniería del Software. Universidad Nacional del Centro de la Provincia de Buenos Aires. Instituto Superior de Ingeniería del Software; Argentina Fil: Diaz Pace, Jorge Andres. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Tandil. Instituto Superior de Ingeniería del Software. Universidad Nacional del Centro de la Provincia de Buenos Aires. Instituto Superior de Ingeniería del Software; Argentina |
description |
Los code smells son síntomas en el código fuente que pueden revelar problemas de diseño. Para poder solucionar un smell deben aplicarse un conjunto de refactorings que permitan restructurar el sistema. Sin embargo, al aplicar un conjunto de refactorings en un orden determinado, pueden surgir problemas que impiden que éstos se apliquen. Por ejemplo, porque un refactoring que depende de una reestructuración realizada por otro refactoring que aún no fue aplicado, o porque un refactoring referencia un artefacto del sistema que fue modificado por un refactoring aplicado anteriormente. Por estos motivos, para aplicar un conjunto de refactorings, se deben analizar las dependencias que existen entre estos para poder establecer el orden de aplicación. En esta línea, este trabajo presenta una herramienta que identifica y soluciona los conflictos originados por dependencias entre refactorings para luego aplicar automáticamente los mismos. Los resultados, si bien son preliminares, indican que este enfoque permite identificar y solucionar un alto porcentaje de conflictos. |
publishDate |
2018 |
dc.date.none.fl_str_mv |
2018-09 |
dc.type.none.fl_str_mv |
info:eu-repo/semantics/article info:eu-repo/semantics/publishedVersion http://purl.org/coar/resource_type/c_6501 info:ar-repo/semantics/articulo |
format |
article |
status_str |
publishedVersion |
dc.identifier.none.fl_str_mv |
http://hdl.handle.net/11336/123052 Marcos, Claudia Andrea; Vidal, Santiago Agustín; Diaz Pace, Jorge Andres; Análisis de dependencias entre refactorings para solucionar code smells; Universidad Tecnológica Nacional; Revista Tecnología y Ciencia; 33; 9-2018; 1-22 1666-6933 CONICET Digital CONICET |
url |
http://hdl.handle.net/11336/123052 |
identifier_str_mv |
Marcos, Claudia Andrea; Vidal, Santiago Agustín; Diaz Pace, Jorge Andres; Análisis de dependencias entre refactorings para solucionar code smells; Universidad Tecnológica Nacional; Revista Tecnología y Ciencia; 33; 9-2018; 1-22 1666-6933 CONICET Digital CONICET |
dc.language.none.fl_str_mv |
spa |
language |
spa |
dc.relation.none.fl_str_mv |
info:eu-repo/semantics/altIdentifier/url/http://rtyc.utn.edu.ar/index.php/rtyc/article/view/25 info:eu-repo/semantics/altIdentifier/doi/10.33414/rtyc.33.1-22.2018 |
dc.rights.none.fl_str_mv |
info:eu-repo/semantics/openAccess https://creativecommons.org/licenses/by-nc/2.5/ar/ |
eu_rights_str_mv |
openAccess |
rights_invalid_str_mv |
https://creativecommons.org/licenses/by-nc/2.5/ar/ |
dc.format.none.fl_str_mv |
application/pdf application/pdf |
dc.publisher.none.fl_str_mv |
Universidad Tecnológica Nacional |
publisher.none.fl_str_mv |
Universidad Tecnológica Nacional |
dc.source.none.fl_str_mv |
reponame:CONICET Digital (CONICET) instname:Consejo Nacional de Investigaciones Científicas y Técnicas |
reponame_str |
CONICET Digital (CONICET) |
collection |
CONICET Digital (CONICET) |
instname_str |
Consejo Nacional de Investigaciones Científicas y Técnicas |
repository.name.fl_str_mv |
CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicas |
repository.mail.fl_str_mv |
dasensio@conicet.gov.ar; lcarlino@conicet.gov.ar |
_version_ |
1842268996034887680 |
score |
13.13397 |