Identificar posibles instancias de patrones de diseño utilizando técnicas de análisis estático, clustering, AST (Abstract Syntax Tree) o pattern matching - Minga Cabrera, Jessica del Cisne (2019)
Resumen:El presente trabajo de titulación se enfoca en el análisis de código fuente en lenguaje de programación JAVA, debido a la necesidad de validar la implementación correcta de patrones de diseño, los permiten aumentar la calidad en las soluciones software. Entre las técnicas evaluadas el AST y pattern matching son las que más predominan en el desarrollo del prototipo. El AST permitió mediante el compilador identificar la estructura de los proyectos JAVA analizados y a partir de ello obtener las características del código como métodos, clases, paquetes, atributos y más. Con la implementación del pattern matching y procedimientos almacenados en la base de datos, se logró comparar las características necesarias para la implementación de cada patrón de diseño con las características extraídas del código analizado y así determinar si la instancia del patrón se cumplía en su totalidad o no. El prototipo desarrollado permite identificar el porcentaje de implementación de los siguientes patrones de diseño: Singleton, Strategy/State, Composite, Observer y Facade, además que se visualiza cuáles son las clases.java que se involucran en la implementación de estos patrones de diseño.