Master's Final Project
Generación automática de oráculos de prueba para APIs REST
Author/s | Alonso Valenzuela, Juan Carlos |
Director | Segura Rueda, Sergio |
Department | Universidad de Sevilla. Departamento de Lenguajes y Sistemas Informáticos |
Publication Date | 2022 |
Deposit Date | 2023-07-12 |
Academic Title | Universidad de Sevilla. Máster en Ingeniería del Software: Cloud, Datos y Gestión TI |
Abstract | La generación automática de casos de prueba para APIs RESTful es un área de investigación en auge, dado el rol que desempeñan en la integración software. La mayoría de las propuestas en este ámbito siguen un enfoque de ... La generación automática de casos de prueba para APIs RESTful es un área de investigación en auge, dado el rol que desempeñan en la integración software. La mayoría de las propuestas en este ámbito siguen un enfoque de caja negra, en el que los casos de prueba se generan automáticamente a partir de la especificación de la API. A pesar de los prometedores resultados de estas propuestas, todas se encuentran limitadas por los tipos de errores que pueden detectar: fallos de servidor no controlados (etiquetados con un código 500) y disconformidades con la especificación de la API. La falta de técnicas para la detección de errores específicos del dominio de cada API supone una importante limitación para el grado de automatización obtenido por estas herramientas. En este trabajo, se propone un enfoque basado en la detección de invariantes (i.e., propiedades que siempre se cumplen en uno o más puntos de la ejecución de un programa) para automatizar el proceso de generación de oráculos de prueba, que pueden ser utilizados para la creación de assertions. En concreto, la propuesta recibe como entrada la especificación de la API y un conjunto de pruebas generadas automáticamente (para las que se conocen únicamente los valores de las entradas y la salida devuelta) y devuelve un conjunto de invariantes que pueden ser utilizados como oráculos. Los resultados obtenidos en una evaluación realizada sobre un conjunto de 8 operaciones de 6 APIs comerciales muestran la capacidad de la propuesta para generar cientos de oráculos válidos, llegando a obtener una precisión del 100 % (y una precisión total del 66.5 %) y detectando un total de 6 bugs replicables en 4 operaciones pertenecientes a 3 sistemas con millones de usuarios (Amadeus Hotel, GitHub y OMDb). |
Citation | Alonso Valenzuela, J.C. (2022). Generación automática de oráculos de prueba para APIs REST. (Trabajo Fin de Máster Inédito). Universidad de Sevilla, Sevilla. |
Files | Size | Format | View | Description |
---|---|---|---|---|
TFM_javalenzuela_GeneracionAut ... | 1.062Mb | [PDF] | View/ | |