Distancia SQL avanzada para generación de casos de test con EvoMaster

Autores
Brassara, Luis Francisco
Año de publicación
2024
Idioma
español castellano
Tipo de recurso
tesis de grado
Estado
versión publicada
Colaborador/a o director/a de tesis
Galeotti, Juan Pablo
Descripción
EvoMaster es una herramienta de generación automática de casos de test para una API REST. Para que la suite generada consiga el mayor coverage posible, EvoMaster intenta generar tests que visiten todas las ramas de los condicionales. Esto lo consigue usando algoritmos evolutivos, cuya población de individuos serán test con llamadas REST y cuya función de fitness será lo que se conoce como branch distance. Como algunas guardas de los condicionales no dependen solo de los parámetros REST sino también del estado de la base de datos, se extendió EvoMaster para tener en cuenta este comportamiento. La heurística planteada en ese trabajo supone que algunas ramas de los condicionales no se visitan cuando la base de datos devuelve una query sin resultados. Luego, identifica esas queries y determina cuán lejos o cerca están de devolver algún resultado mediante la definición de una SQL distance. Esa definición de distancia es usada en la fitness function para guiar al algoritmo evolutivo hacia soluciones que visiten más ramas y en consecuencia ofrezcan mayor coverage. Actualmente, la implementación de la SQL distance cubre sólo un subconjunto de todas las posibles queries SQL ya que no tiene soporte para operadores que involucran subqueries tales como EXISTS, IN, ALL/ANY o UNION. Además, la SQL distance actual no da ningún gradiente intermedio cuando la cláusula FROM no trae resultados. El objetivo de la tesis será entonces definir, implementar y probar una extensión de la SQL distancia actual, que llamaremos distancia SQL avanzada, de manera que cubra esos nuevos casos y funcionalidades.
EvoMaster is an automatic test case generation tool for REST APIs. In order to achieve the highest possible coverage, EvoMaster tries to generate tests that visit all conditional branches. In order to achieve this, it uses evolutionary algorithms, where each individual in the population will be a sequence of REST calls and which fitness function will be what is known as branch distance. Since some conditional guards do not depend only on REST parameters but also on the state of the database, EvoMaster was extended to take this behavior into account. The heuristic proposed in that work assumes that some branches of the conditionals are not visited when the database returns a query without results. Then, it identifies those queries and determines how far or close they are to returning any result by defining a SQL distance. That distance definition is used in the fitness function to guide the evolutionary algorithm towards solutions that visit more branches and consequently offer greater coverage. Currently, the SQL distance implementation covers only a subset of all possible SQL queries as it does not support operators involving subqueries such as EXISTS, IN, ALL/ANY or UNION. Furthermore, the current SQL distance does not give any intermediate gradient when the FROM clause does not bring results. The goal of the thesis will then be to define, implement and test an extension of the current SQL distance, which we will call advanced SQL distance, so that it covers these new cases and functionalities.
Fil: Brassara, Luis Francisco. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
Materia
EVOMASTER
GENERACION DE TESTS AUTOMATICOS
ALGORITMOS EVOLUTIVOS
ALGORITMO MIO
EVOMASTER
AUTOMATIC TEST GENERATION
REST APIS
BRANCH COVERAGE
EVOLUTIONARY ALGORITHMS
MIO ALGORITHM
BRANCH DISTANCE
SQL DISTANCE
Nivel de accesibilidad
acceso abierto
Condiciones de uso
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
Repositorio
Biblioteca Digital (UBA-FCEN)
Institución
Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
OAI Identificador
seminario:seminario_nCOM000774_Brassara

id BDUBAFCEN_9cd57076207cc95d49029d1711f7520c
oai_identifier_str seminario:seminario_nCOM000774_Brassara
network_acronym_str BDUBAFCEN
repository_id_str 1896
network_name_str Biblioteca Digital (UBA-FCEN)
spelling Distancia SQL avanzada para generación de casos de test con EvoMasterBrassara, Luis FranciscoEVOMASTERGENERACION DE TESTS AUTOMATICOSALGORITMOS EVOLUTIVOSALGORITMO MIOEVOMASTERAUTOMATIC TEST GENERATIONREST APISBRANCH COVERAGEEVOLUTIONARY ALGORITHMSMIO ALGORITHMBRANCH DISTANCESQL DISTANCEEvoMaster es una herramienta de generación automática de casos de test para una API REST. Para que la suite generada consiga el mayor coverage posible, EvoMaster intenta generar tests que visiten todas las ramas de los condicionales. Esto lo consigue usando algoritmos evolutivos, cuya población de individuos serán test con llamadas REST y cuya función de fitness será lo que se conoce como branch distance. Como algunas guardas de los condicionales no dependen solo de los parámetros REST sino también del estado de la base de datos, se extendió EvoMaster para tener en cuenta este comportamiento. La heurística planteada en ese trabajo supone que algunas ramas de los condicionales no se visitan cuando la base de datos devuelve una query sin resultados. Luego, identifica esas queries y determina cuán lejos o cerca están de devolver algún resultado mediante la definición de una SQL distance. Esa definición de distancia es usada en la fitness function para guiar al algoritmo evolutivo hacia soluciones que visiten más ramas y en consecuencia ofrezcan mayor coverage. Actualmente, la implementación de la SQL distance cubre sólo un subconjunto de todas las posibles queries SQL ya que no tiene soporte para operadores que involucran subqueries tales como EXISTS, IN, ALL/ANY o UNION. Además, la SQL distance actual no da ningún gradiente intermedio cuando la cláusula FROM no trae resultados. El objetivo de la tesis será entonces definir, implementar y probar una extensión de la SQL distancia actual, que llamaremos distancia SQL avanzada, de manera que cubra esos nuevos casos y funcionalidades.EvoMaster is an automatic test case generation tool for REST APIs. In order to achieve the highest possible coverage, EvoMaster tries to generate tests that visit all conditional branches. In order to achieve this, it uses evolutionary algorithms, where each individual in the population will be a sequence of REST calls and which fitness function will be what is known as branch distance. Since some conditional guards do not depend only on REST parameters but also on the state of the database, EvoMaster was extended to take this behavior into account. The heuristic proposed in that work assumes that some branches of the conditionals are not visited when the database returns a query without results. Then, it identifies those queries and determines how far or close they are to returning any result by defining a SQL distance. That distance definition is used in the fitness function to guide the evolutionary algorithm towards solutions that visit more branches and consequently offer greater coverage. Currently, the SQL distance implementation covers only a subset of all possible SQL queries as it does not support operators involving subqueries such as EXISTS, IN, ALL/ANY or UNION. Furthermore, the current SQL distance does not give any intermediate gradient when the FROM clause does not bring results. The goal of the thesis will then be to define, implement and test an extension of the current SQL distance, which we will call advanced SQL distance, so that it covers these new cases and functionalities.Fil: Brassara, Luis Francisco. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.Universidad de Buenos Aires. Facultad de Ciencias Exactas y NaturalesGaleotti, Juan Pablo2024-09-18info:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfhttps://hdl.handle.net/20.500.12110/seminario_nCOM000774_Brassaraspainfo:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/arreponame:Biblioteca Digital (UBA-FCEN)instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesinstacron:UBA-FCEN2025-11-06T09:40:36Zseminario:seminario_nCOM000774_BrassaraInstitucionalhttps://digital.bl.fcen.uba.ar/Universidad públicaNo correspondehttps://digital.bl.fcen.uba.ar/cgi-bin/oaiserver.cgiana@bl.fcen.uba.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:18962025-11-06 09:40:37.998Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesfalse
dc.title.none.fl_str_mv Distancia SQL avanzada para generación de casos de test con EvoMaster
title Distancia SQL avanzada para generación de casos de test con EvoMaster
spellingShingle Distancia SQL avanzada para generación de casos de test con EvoMaster
Brassara, Luis Francisco
EVOMASTER
GENERACION DE TESTS AUTOMATICOS
ALGORITMOS EVOLUTIVOS
ALGORITMO MIO
EVOMASTER
AUTOMATIC TEST GENERATION
REST APIS
BRANCH COVERAGE
EVOLUTIONARY ALGORITHMS
MIO ALGORITHM
BRANCH DISTANCE
SQL DISTANCE
title_short Distancia SQL avanzada para generación de casos de test con EvoMaster
title_full Distancia SQL avanzada para generación de casos de test con EvoMaster
title_fullStr Distancia SQL avanzada para generación de casos de test con EvoMaster
title_full_unstemmed Distancia SQL avanzada para generación de casos de test con EvoMaster
title_sort Distancia SQL avanzada para generación de casos de test con EvoMaster
dc.creator.none.fl_str_mv Brassara, Luis Francisco
author Brassara, Luis Francisco
author_facet Brassara, Luis Francisco
author_role author
dc.contributor.none.fl_str_mv Galeotti, Juan Pablo
dc.subject.none.fl_str_mv EVOMASTER
GENERACION DE TESTS AUTOMATICOS
ALGORITMOS EVOLUTIVOS
ALGORITMO MIO
EVOMASTER
AUTOMATIC TEST GENERATION
REST APIS
BRANCH COVERAGE
EVOLUTIONARY ALGORITHMS
MIO ALGORITHM
BRANCH DISTANCE
SQL DISTANCE
topic EVOMASTER
GENERACION DE TESTS AUTOMATICOS
ALGORITMOS EVOLUTIVOS
ALGORITMO MIO
EVOMASTER
AUTOMATIC TEST GENERATION
REST APIS
BRANCH COVERAGE
EVOLUTIONARY ALGORITHMS
MIO ALGORITHM
BRANCH DISTANCE
SQL DISTANCE
dc.description.none.fl_txt_mv EvoMaster es una herramienta de generación automática de casos de test para una API REST. Para que la suite generada consiga el mayor coverage posible, EvoMaster intenta generar tests que visiten todas las ramas de los condicionales. Esto lo consigue usando algoritmos evolutivos, cuya población de individuos serán test con llamadas REST y cuya función de fitness será lo que se conoce como branch distance. Como algunas guardas de los condicionales no dependen solo de los parámetros REST sino también del estado de la base de datos, se extendió EvoMaster para tener en cuenta este comportamiento. La heurística planteada en ese trabajo supone que algunas ramas de los condicionales no se visitan cuando la base de datos devuelve una query sin resultados. Luego, identifica esas queries y determina cuán lejos o cerca están de devolver algún resultado mediante la definición de una SQL distance. Esa definición de distancia es usada en la fitness function para guiar al algoritmo evolutivo hacia soluciones que visiten más ramas y en consecuencia ofrezcan mayor coverage. Actualmente, la implementación de la SQL distance cubre sólo un subconjunto de todas las posibles queries SQL ya que no tiene soporte para operadores que involucran subqueries tales como EXISTS, IN, ALL/ANY o UNION. Además, la SQL distance actual no da ningún gradiente intermedio cuando la cláusula FROM no trae resultados. El objetivo de la tesis será entonces definir, implementar y probar una extensión de la SQL distancia actual, que llamaremos distancia SQL avanzada, de manera que cubra esos nuevos casos y funcionalidades.
EvoMaster is an automatic test case generation tool for REST APIs. In order to achieve the highest possible coverage, EvoMaster tries to generate tests that visit all conditional branches. In order to achieve this, it uses evolutionary algorithms, where each individual in the population will be a sequence of REST calls and which fitness function will be what is known as branch distance. Since some conditional guards do not depend only on REST parameters but also on the state of the database, EvoMaster was extended to take this behavior into account. The heuristic proposed in that work assumes that some branches of the conditionals are not visited when the database returns a query without results. Then, it identifies those queries and determines how far or close they are to returning any result by defining a SQL distance. That distance definition is used in the fitness function to guide the evolutionary algorithm towards solutions that visit more branches and consequently offer greater coverage. Currently, the SQL distance implementation covers only a subset of all possible SQL queries as it does not support operators involving subqueries such as EXISTS, IN, ALL/ANY or UNION. Furthermore, the current SQL distance does not give any intermediate gradient when the FROM clause does not bring results. The goal of the thesis will then be to define, implement and test an extension of the current SQL distance, which we will call advanced SQL distance, so that it covers these new cases and functionalities.
Fil: Brassara, Luis Francisco. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
description EvoMaster es una herramienta de generación automática de casos de test para una API REST. Para que la suite generada consiga el mayor coverage posible, EvoMaster intenta generar tests que visiten todas las ramas de los condicionales. Esto lo consigue usando algoritmos evolutivos, cuya población de individuos serán test con llamadas REST y cuya función de fitness será lo que se conoce como branch distance. Como algunas guardas de los condicionales no dependen solo de los parámetros REST sino también del estado de la base de datos, se extendió EvoMaster para tener en cuenta este comportamiento. La heurística planteada en ese trabajo supone que algunas ramas de los condicionales no se visitan cuando la base de datos devuelve una query sin resultados. Luego, identifica esas queries y determina cuán lejos o cerca están de devolver algún resultado mediante la definición de una SQL distance. Esa definición de distancia es usada en la fitness function para guiar al algoritmo evolutivo hacia soluciones que visiten más ramas y en consecuencia ofrezcan mayor coverage. Actualmente, la implementación de la SQL distance cubre sólo un subconjunto de todas las posibles queries SQL ya que no tiene soporte para operadores que involucran subqueries tales como EXISTS, IN, ALL/ANY o UNION. Además, la SQL distance actual no da ningún gradiente intermedio cuando la cláusula FROM no trae resultados. El objetivo de la tesis será entonces definir, implementar y probar una extensión de la SQL distancia actual, que llamaremos distancia SQL avanzada, de manera que cubra esos nuevos casos y funcionalidades.
publishDate 2024
dc.date.none.fl_str_mv 2024-09-18
dc.type.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
info:eu-repo/semantics/publishedVersion
http://purl.org/coar/resource_type/c_7a1f
info:ar-repo/semantics/tesisDeGrado
format bachelorThesis
status_str publishedVersion
dc.identifier.none.fl_str_mv https://hdl.handle.net/20.500.12110/seminario_nCOM000774_Brassara
url https://hdl.handle.net/20.500.12110/seminario_nCOM000774_Brassara
dc.language.none.fl_str_mv spa
language spa
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
eu_rights_str_mv openAccess
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-sa/2.5/ar
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
dc.source.none.fl_str_mv reponame:Biblioteca Digital (UBA-FCEN)
instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron:UBA-FCEN
reponame_str Biblioteca Digital (UBA-FCEN)
collection Biblioteca Digital (UBA-FCEN)
instname_str Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron_str UBA-FCEN
institution UBA-FCEN
repository.name.fl_str_mv Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
repository.mail.fl_str_mv ana@bl.fcen.uba.ar
_version_ 1848046113045610496
score 13.087074