Este evento ha pasado.
Defensa Tesis Licenciatura Franco Castagna
agosto 31 @ 12:30 pm - 1:30 pm
Título: Evaluación empírica de algoritmos evolutivos para la generación de System Level Tests en Evomaster
Director: Juan P. Galeotti
Jurados: Paula Zabala, Sebastian UchitelResumen
Jurados: Paula Zabala, Sebastian UchitelResumen
Las APIs RESTful son un componente central de las aplicaciones modernas basadas en microservicios. El testing guiado por búsqueda ha demostrado ser eficaz para generar automáticamente suites de tests para estas APIs, y una amplia variedad de algoritmos evolutivos han sido extensamente estudiados en otros dominios, incluyendo testing unitario y de aplicaciones móviles. Sin embargo, existe poca evidencia empírica sobre cómo se comportan estos algoritmos en el contexto del testing de caja blanca a nivel de sistema sobre APIs REST. En este trabajo se presenta una comparación empírica comprensiva dentro de EvoMaster, una herramienta open-source de generación automática de tests para APIs REST, GraphQL y RPC. Se incorporan e integran once nuevas variantes de algoritmos evolutivos en el núcleo de EvoMaster bajo una arquitectura uniforme, diez de las cuales son evaluadas experimentalmente; la restante, DynaMOSA, requiere una adaptación de la infraestructura de experimentación que se plantea como trabajo futuro. Además, se diseña e implementa el parámetro GASolutionSource, una abstracción que permite alternar entre la construcción de la suite final, desde el archive elitista o desde la población final del algoritmo, habilitando futuras comparaciones empíricas sistemáticas entre ambos modos. Las variantes se evalúan sobre un benchmark de 36 APIs REST del Web Fuzzing Dataset, comparándolas contra los algoritmos preexistentes de EvoMaster (MIO, MOSA, WTS y RANDOM) con un presupuesto de 10 minutos por ejecución y cinco repeticiones independientes por par algoritmo-API. La evaluación se basa en tres métricas: cobertura de líneas, cobertura de endpoints con respuestas exitosas (HTTP 2xx) y cantidad de fallos detectados (HTTP 5xx). Los resultados muestran que los algoritmos específicos para testing superan a los genéticos de propósito general, con MIO obteniendo el mejor rendimiento global. Entre los algoritmos incorporados, CRO y StandardGA obtienen los mejores resultados, ubicándose entre los algoritmos de mejor rendimiento junto con MIO y WTS. El rendimiento de StandardGA es particularmente llamativo dado que es el GA más simple de los evaluados, lo que sugiere que, cuando se utiliza un archivo elitista para construir la suite final, la complejidad adicional de los mecanismos de reemplazo poblacional no se traduce en ventajas observables. RANDOM, pese a no guiarse por cobertura, lidera en magnitud absoluta de fallos detectados y se mantiene difícil de superar con presupuesto de 10 minutos, lo que indica que el muestreo aleatorio sigue siendo un baseline competitivo bajo presupuestos ajustados.
