Por favor, use este identificador para citar o enlazar este ítem:https://uvadoc.uva.es/handle/10324/71622
Título
Detección y corrección de code smells para React
Autor
Director o Tutor
Año del Documento
2024
Titulación
Grado en Ingeniería Informática
Resumen
Los code smells son síntomas en el código, o indicadores de un problema más profundo,
que suelen desencadenar problemas potenciales de diseño o mantenibilidad, aunque no necesariamente
causan errores inmediatos. Estas deficiencias de código han supuesto grandes
problemas para los desarrolladores a lo largo de los últimos años. Si bien es cierto que existen
varias herramientas centradas en corregir code smells de ámbito más general, aún son escasas
las herramientas centradas en corregir smells específicos de una tecnología.
El objetivo de este proyecto es desarrollar una herramienta que facilite la corrección automática
de code smells en aplicaciones desarrolladas con el framework React. Para ilustrar las
diferentes vías en las que este objetivo puede alcanzarse se han desarrollado dos herramientas
diferentes para su posterior comparación. La primera de ellas se basa en manipulación
directa del árbol de sintaxis abstracta, del inglés Abstract Syntax Tree (AST) para generar
las correcciones de los code smells y, la segunda, en el uso de aprendizaje automático, del
inglés Machine Learning (ML) e inteligencia artificial (IA) generativa para la detección y
corrección de los mismos.
El desarrollo se ha llevado a cabo siguiendo las prácticas ágiles de Scrum, dividiendo el
trabajo en sprints y asegurando una planificación y seguimiento detallado del proyecto. Las
tecnologías empleadas incluyen ESLint para la corrección basada en la manipulación directa
del AST, y TensorFlow y Llama2, entre otras, para la detección y corrección basada en IA Code smells are symptoms in the code, or indicators of a deeper problem, that often
trigger potential design or maintainability issues, although they do not necessarily cause
immediate bugs. These code deficiencies have posed major problems for developers over the
past few years. While it is true that there are several tools focused on correcting code smells
of a more general scope, tools focused on correcting technology-specific smells are still scarce.
The objective of this project is to develop a tool that facilitates the automatic correction
of code smells in applications developed with the React framework. To illustrate the different
ways in which this goal can be achieved, two different tools have been developed for comparison.
The first one is based on the direct manipulation of the Abstract Syntax Tree (AST)
to generate the corrections of the code smells. The second one, on the use of generative ML
and IA for the detection and correction of the same ones.
The development has been carried out following Scrum agile practices, dividing the work
into sprints and ensuring a detailed planning and monitoring of the project. The technologies
employed include ESLint for correction based on direct manipulation of the AST, and
TensorFlow and Llama2, among others, for detection and correction based on IA
Palabras Clave
Code smell
Refactor
Deuda técnica
React
Departamento
Departamento de Informática (Arquitectura y Tecnología de Computadores, Ciencias de la Computación e Inteligencia Artificial, Lenguajes y Sistemas Informáticos)
Idioma
spa
Derechos
embargoedAccess
Aparece en las colecciones
- Trabajos Fin de Grado UVa [30038]
Ficheros en el ítem
La licencia del ítem se describe como Attribution-NonCommercial-NoDerivatives 4.0 Internacional