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
.jpg)
- Institución
- Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
- OAI Identificador
- seminario:seminario_nCOM000774_Brassara
Ver los metadatos del registro completo
| 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 |