Modelo basado en G3P y clasificación asociativa para la detección de patrones de diseño
Autor
Barbudo Lunar, Rafael
Tutor
Romero-Salguero, F.J.Editor
Universidad de CórdobaFecha
2020Materia
Patrones de diseñoProgramación genética gramatical
Clasificación asociativa
Ingeniería inversa del software
METS:
Mostrar el registro METSPREMIS:
Mostrar el registro PREMISMetadatos
Mostrar el registro completo del ítemResumen
Los patrones de diseño son soluciones generales y reutilizables a un determinado problema de diseño que puede ocurrir durante el desarrollo del software. A pesar de ello, la falta de documentación a menudo dificulta su trazabilidad, provocando que sus implementaciones se pierdan entre miles de líneas de código. La identificación de dichas implementaciones genera múltiples beneficios relacionados con la mantenibilidad y la escalabilidad del software. En este contexto, la detección de patrones de diseño ha atraído una gran atención en el campo de la ingeniería inversa. Las propuestas actuales suelen estar centradas en el estudio, o bien de métricas software, o de propiedades de comportamiento y estructurales. En este trabajo se propone un modelo en dos fases para la llevar a cabo la detección automática de patrones de diseño a través del uso de técnicas de computación evolutiva y aprendizaje automático. En primer lugar, un algoritmo de programación genética gramatical extrae aquellas propiedades que mejor describen al patrón que se pretende detectar. Este conocimiento se representa como un conjunto de reglas de asociación cuya estructura es definida por una gramática de contexto libre. En segundo lugar, se construye un modelo de detección para identificar las posibles implementaciones del patrón. El uso de la gramática permite el estudio simultáneo de métricas software, así como de propiedades de comportamiento y estructurales del código. El modelo propuesto ha sido empíricamente validado para tres patrones de diseño. Además los resultados obtenidos demuestran la competitividad del modelo frente a las propuestas actuales.
Descripción
Premio extraordinario de Trabajo Fin de Máster curso 2017/2018. Máster en Ingeniería Informática