Detección de defectos de diseño mediante métricas de código
- M. Esperanza Manso Martínez Zuzendarikidea
- Yania Crespo Zuzendarikidea
Defentsa unibertsitatea: Universidad de Valladolid
Fecha de defensa: 2012(e)ko abendua-(a)k 19
- Mario G. Piattini Velthuis Presidentea
- Miguel Á. Laguna Idazkaria
- Silvia Mara Abrahao Gonzales Kidea
- Pablo Javier Tuya González Kidea
- José Antonio Cruz Lemus Kidea
Mota: Tesia
Laburpena
La identificación de defectos de diseño en entidades de código es una de las tareas del proceso de mantenimiento del software que sirve para evaluar la calidad de un sistema. Un defecto de diseño describe una situación que sugiere un problema potencial en la estructura del software. La intención de diseño de la entidad, que puede ser expresada como estereotipos de clasificadores estándar de UML, proporciona una fuente de información utilizada en algunas definiciones textuales de defectos. En las entidades de código de un sistema software orientado a objetos la información de estereotipos UML no suele estar disponible explícitamente, aunque los diseñadores y programadores la hayan tenido en cuenta en sus soluciones. En la práctica de la automatización de detección de defectos de diseño, esta información es obviada a pesar de su posible utilidad en el proceso de identificación de defectos. Actualmente existen métodos de identificación del defecto de diseño basados en métricas de código. Incluso existen herramientas que lo automatizan, como InCode y JDeodorant, ambas avaladas con importantes publicaciones de investigación, en las que esta información no se tiene en cuenta. En esta tesis proponemos utilizar técnicas de aprendizaje supervisado basado en clasificadores de tipo árbol de decisión, para modelar el problema de la detección de defectos de diseño como una clasificación de entidades de código ``con defecto'' o ``sin defecto''. La clasificación inicial en la fase de entrenamiento se puede obtener a partir de los métodos actuales. Este trabajo presenta varios casos de estudio experimentales para evaluar cómo influye la información relativa a la naturaleza de diseño de la entidad en la detección de tres defectos (GodClass, Feature Envy y Data Class) para distintos clasificadores. La evaluación consiste en comparar de medidas de rendimiento del clasificador obtenidas en la fase de entrenamiento (Recuperación, Precisión y F-Measure). Las resultados experimentales avalan la validez de considerar la naturaleza de diseño de la entidad en los métodos de identificación de defectos de código. Finalmente, como trasferencia del conocimiento de los resultados de investigación, en la tesis se proponen prototipos de herramientas software de detección de defectos de diseño que incluyen la naturaleza de diseño de la entidad de código.