Fajita : generación automática de casos de test basada en verificación acotada

Autores
Ciolek, Daniel Alfredo
Año de publicación
2012
Idioma
español castellano
Tipo de recurso
tesis de grado
Estado
versión publicada
Colaborador/a o director/a de tesis
Frías, Marcelo Fabián
Galeotti, Juan Pablo
Descripción
La generación de casos de test es una de las metodologías más utilizadas para verificar la calidad de un sistema de software. Si bien resulta más económica que otros acercamientos como la verificación formal, los costos de una validación exhaustiva siguen siendo muy elevados, por lo que en la mayoría de los casos se hace un balance entre el costo de afrontar las potenciales fallas y el esfuerzo destinado a la validación. En esta tesis se presenta una técnica de generación automática de casos de test que puede ser utilizada para reducir los costos de la verificación del software. La técnica busca un conjunto minimal de casos de test que logre un alto índice de cobertura según un criterio dado. La metodología resulta flexible ya que admite la instrumentación de distintos criterios frecuentemente utilizados en la práctica. La técnica presentada se basa en efectuar una verificación acotada siguiendo una especificación formal de un programa. La verificación acotada se hace mediante la traducción del programa junto con su especificación a un modelo formal. Luego, el modelo es analizado utilizando un SAT-Solver para obtener una traza de ejecución válida, resultado que es traducido a un caso test. Como parte de este trabajo se construyó un prototipo experimental llamado Fajita. La herramienta fue evaluada mediante la comparación contra herramientas del estado del arte. Durante el trabajo se analizan las ventajas que introducen la utilización de SAT-Solving incremental junto con distintas tácticas para la reducción del espacio de búsqueda (predicados de rupturas de simetrías y exploración iterativa). Se proponen, también, mejoras en algunos de los criterios de selección de casos de test comúnmente utilizados.
The generation of test cases is one of the most common software quality verification methodologies. While it tends to be more economical than other approaches such us formal verification, the costs of exhaustive validation still remain prohibitive; for that reason, most of the time a trade off between the costs of facing potential flaws and the effort destined to validation is made. In this thesis a technique for automatic test case generation is presented, which can be used to reduce the costs of software verification. The technique searches a minimal test set that achieves a high coverage index for a given test selection criterion. The methodology turns out to be flexible since it admits the instrumentation of different criteria frequently used in practice. The presented technique is based on making a bounded verification following a formal specification of a program. The bounded verification involves the translation of the program with its specification to a formal model. Then, the model is analyzed using a SAT-Solver in order to obtain a valid execution trace,which is finally translated to a test case. As part of this work, an experimental prototype called Fajita was built. The tool was evaluated by comparing it with state of the art tools. The advantages introduced by the usage of incremental SAT-Solving and different search space reduction tactics (symmetry breaking predicates and iterative exploration) are analyzed in this text. Also, improvements for some test selection criteria of wide usage are proposed.
Fil: Ciolek, Daniel Alfredo. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
Materia
TESTING
GENERACION AUTOMATICA DE CASOS DE TEST
VERIFICACION ACOTADA
SAT-SOLVING INCREMENTAL
TACO
DYNALLOY
ALLOY
TESTING
AUTOMATIC TEST CASE GENERATION
BOUNDED VERIFICATION
INCREMEN- TAL SAT-SOLVING
TACO
DYNALLOY
ALLOY
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_nCOM000513_Ciolek

id BDUBAFCEN_e73f8ec943a6148928dc015722221f2b
oai_identifier_str seminario:seminario_nCOM000513_Ciolek
network_acronym_str BDUBAFCEN
repository_id_str 1896
network_name_str Biblioteca Digital (UBA-FCEN)
spelling Fajita : generación automática de casos de test basada en verificación acotadaCiolek, Daniel AlfredoTESTINGGENERACION AUTOMATICA DE CASOS DE TESTVERIFICACION ACOTADASAT-SOLVING INCREMENTALTACODYNALLOYALLOYTESTINGAUTOMATIC TEST CASE GENERATIONBOUNDED VERIFICATIONINCREMEN- TAL SAT-SOLVINGTACODYNALLOYALLOYLa generación de casos de test es una de las metodologías más utilizadas para verificar la calidad de un sistema de software. Si bien resulta más económica que otros acercamientos como la verificación formal, los costos de una validación exhaustiva siguen siendo muy elevados, por lo que en la mayoría de los casos se hace un balance entre el costo de afrontar las potenciales fallas y el esfuerzo destinado a la validación. En esta tesis se presenta una técnica de generación automática de casos de test que puede ser utilizada para reducir los costos de la verificación del software. La técnica busca un conjunto minimal de casos de test que logre un alto índice de cobertura según un criterio dado. La metodología resulta flexible ya que admite la instrumentación de distintos criterios frecuentemente utilizados en la práctica. La técnica presentada se basa en efectuar una verificación acotada siguiendo una especificación formal de un programa. La verificación acotada se hace mediante la traducción del programa junto con su especificación a un modelo formal. Luego, el modelo es analizado utilizando un SAT-Solver para obtener una traza de ejecución válida, resultado que es traducido a un caso test. Como parte de este trabajo se construyó un prototipo experimental llamado Fajita. La herramienta fue evaluada mediante la comparación contra herramientas del estado del arte. Durante el trabajo se analizan las ventajas que introducen la utilización de SAT-Solving incremental junto con distintas tácticas para la reducción del espacio de búsqueda (predicados de rupturas de simetrías y exploración iterativa). Se proponen, también, mejoras en algunos de los criterios de selección de casos de test comúnmente utilizados.The generation of test cases is one of the most common software quality verification methodologies. While it tends to be more economical than other approaches such us formal verification, the costs of exhaustive validation still remain prohibitive; for that reason, most of the time a trade off between the costs of facing potential flaws and the effort destined to validation is made. In this thesis a technique for automatic test case generation is presented, which can be used to reduce the costs of software verification. The technique searches a minimal test set that achieves a high coverage index for a given test selection criterion. The methodology turns out to be flexible since it admits the instrumentation of different criteria frequently used in practice. The presented technique is based on making a bounded verification following a formal specification of a program. The bounded verification involves the translation of the program with its specification to a formal model. Then, the model is analyzed using a SAT-Solver in order to obtain a valid execution trace,which is finally translated to a test case. As part of this work, an experimental prototype called Fajita was built. The tool was evaluated by comparing it with state of the art tools. The advantages introduced by the usage of incremental SAT-Solving and different search space reduction tactics (symmetry breaking predicates and iterative exploration) are analyzed in this text. Also, improvements for some test selection criteria of wide usage are proposed.Fil: Ciolek, Daniel Alfredo. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.Universidad de Buenos Aires. Facultad de Ciencias Exactas y NaturalesFrías, Marcelo FabiánGaleotti, Juan Pablo2012-03info: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_nCOM000513_Ciolekspainfo: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-09-29T13:43:38Zseminario:seminario_nCOM000513_CiolekInstitucionalhttps://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-09-29 13:43:39.635Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesfalse
dc.title.none.fl_str_mv Fajita : generación automática de casos de test basada en verificación acotada
title Fajita : generación automática de casos de test basada en verificación acotada
spellingShingle Fajita : generación automática de casos de test basada en verificación acotada
Ciolek, Daniel Alfredo
TESTING
GENERACION AUTOMATICA DE CASOS DE TEST
VERIFICACION ACOTADA
SAT-SOLVING INCREMENTAL
TACO
DYNALLOY
ALLOY
TESTING
AUTOMATIC TEST CASE GENERATION
BOUNDED VERIFICATION
INCREMEN- TAL SAT-SOLVING
TACO
DYNALLOY
ALLOY
title_short Fajita : generación automática de casos de test basada en verificación acotada
title_full Fajita : generación automática de casos de test basada en verificación acotada
title_fullStr Fajita : generación automática de casos de test basada en verificación acotada
title_full_unstemmed Fajita : generación automática de casos de test basada en verificación acotada
title_sort Fajita : generación automática de casos de test basada en verificación acotada
dc.creator.none.fl_str_mv Ciolek, Daniel Alfredo
author Ciolek, Daniel Alfredo
author_facet Ciolek, Daniel Alfredo
author_role author
dc.contributor.none.fl_str_mv Frías, Marcelo Fabián
Galeotti, Juan Pablo
dc.subject.none.fl_str_mv TESTING
GENERACION AUTOMATICA DE CASOS DE TEST
VERIFICACION ACOTADA
SAT-SOLVING INCREMENTAL
TACO
DYNALLOY
ALLOY
TESTING
AUTOMATIC TEST CASE GENERATION
BOUNDED VERIFICATION
INCREMEN- TAL SAT-SOLVING
TACO
DYNALLOY
ALLOY
topic TESTING
GENERACION AUTOMATICA DE CASOS DE TEST
VERIFICACION ACOTADA
SAT-SOLVING INCREMENTAL
TACO
DYNALLOY
ALLOY
TESTING
AUTOMATIC TEST CASE GENERATION
BOUNDED VERIFICATION
INCREMEN- TAL SAT-SOLVING
TACO
DYNALLOY
ALLOY
dc.description.none.fl_txt_mv La generación de casos de test es una de las metodologías más utilizadas para verificar la calidad de un sistema de software. Si bien resulta más económica que otros acercamientos como la verificación formal, los costos de una validación exhaustiva siguen siendo muy elevados, por lo que en la mayoría de los casos se hace un balance entre el costo de afrontar las potenciales fallas y el esfuerzo destinado a la validación. En esta tesis se presenta una técnica de generación automática de casos de test que puede ser utilizada para reducir los costos de la verificación del software. La técnica busca un conjunto minimal de casos de test que logre un alto índice de cobertura según un criterio dado. La metodología resulta flexible ya que admite la instrumentación de distintos criterios frecuentemente utilizados en la práctica. La técnica presentada se basa en efectuar una verificación acotada siguiendo una especificación formal de un programa. La verificación acotada se hace mediante la traducción del programa junto con su especificación a un modelo formal. Luego, el modelo es analizado utilizando un SAT-Solver para obtener una traza de ejecución válida, resultado que es traducido a un caso test. Como parte de este trabajo se construyó un prototipo experimental llamado Fajita. La herramienta fue evaluada mediante la comparación contra herramientas del estado del arte. Durante el trabajo se analizan las ventajas que introducen la utilización de SAT-Solving incremental junto con distintas tácticas para la reducción del espacio de búsqueda (predicados de rupturas de simetrías y exploración iterativa). Se proponen, también, mejoras en algunos de los criterios de selección de casos de test comúnmente utilizados.
The generation of test cases is one of the most common software quality verification methodologies. While it tends to be more economical than other approaches such us formal verification, the costs of exhaustive validation still remain prohibitive; for that reason, most of the time a trade off between the costs of facing potential flaws and the effort destined to validation is made. In this thesis a technique for automatic test case generation is presented, which can be used to reduce the costs of software verification. The technique searches a minimal test set that achieves a high coverage index for a given test selection criterion. The methodology turns out to be flexible since it admits the instrumentation of different criteria frequently used in practice. The presented technique is based on making a bounded verification following a formal specification of a program. The bounded verification involves the translation of the program with its specification to a formal model. Then, the model is analyzed using a SAT-Solver in order to obtain a valid execution trace,which is finally translated to a test case. As part of this work, an experimental prototype called Fajita was built. The tool was evaluated by comparing it with state of the art tools. The advantages introduced by the usage of incremental SAT-Solving and different search space reduction tactics (symmetry breaking predicates and iterative exploration) are analyzed in this text. Also, improvements for some test selection criteria of wide usage are proposed.
Fil: Ciolek, Daniel Alfredo. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
description La generación de casos de test es una de las metodologías más utilizadas para verificar la calidad de un sistema de software. Si bien resulta más económica que otros acercamientos como la verificación formal, los costos de una validación exhaustiva siguen siendo muy elevados, por lo que en la mayoría de los casos se hace un balance entre el costo de afrontar las potenciales fallas y el esfuerzo destinado a la validación. En esta tesis se presenta una técnica de generación automática de casos de test que puede ser utilizada para reducir los costos de la verificación del software. La técnica busca un conjunto minimal de casos de test que logre un alto índice de cobertura según un criterio dado. La metodología resulta flexible ya que admite la instrumentación de distintos criterios frecuentemente utilizados en la práctica. La técnica presentada se basa en efectuar una verificación acotada siguiendo una especificación formal de un programa. La verificación acotada se hace mediante la traducción del programa junto con su especificación a un modelo formal. Luego, el modelo es analizado utilizando un SAT-Solver para obtener una traza de ejecución válida, resultado que es traducido a un caso test. Como parte de este trabajo se construyó un prototipo experimental llamado Fajita. La herramienta fue evaluada mediante la comparación contra herramientas del estado del arte. Durante el trabajo se analizan las ventajas que introducen la utilización de SAT-Solving incremental junto con distintas tácticas para la reducción del espacio de búsqueda (predicados de rupturas de simetrías y exploración iterativa). Se proponen, también, mejoras en algunos de los criterios de selección de casos de test comúnmente utilizados.
publishDate 2012
dc.date.none.fl_str_mv 2012-03
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_nCOM000513_Ciolek
url https://hdl.handle.net/20.500.12110/seminario_nCOM000513_Ciolek
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_ 1844618756517527552
score 13.070432