SAT-Based Combinatorial Testing

En aquesta tesi ens centrem en el problema de Combinatorial Testing mitjançant l'aplicació de la tecnologia de Satisfactibilitat. L'objectiu de CT és proveir d'un conjunt de proves que permeti capturar la majoria dels errors en un Sistema Sota Prova (SUT). En particular, presentem div...

Descripción completa

Detalles Bibliográficos
Autor: Torres Montiel, Eduard
Tipo de recurso: tesis doctoral
Estado:Versión publicada
Fecha de publicación:2022
País:España
Institución:Universitat de Lleida (UdL)
Repositorio:Repositori Obert UdL
OAI Identifier:oai:repositori.udl.cat:10459.1/84868
Acceso en línea:http://hdl.handle.net/10803/687289
Access Level:acceso abierto
Palabra clave:Satisfactibilitat
Combinatorial Testing
Optimització
Satisfactibilidad
Optimización
Satisfiability
Optimization
Ciències de la Computació i Intel·ligència Artificial
004
Descripción
Sumario:En aquesta tesi ens centrem en el problema de Combinatorial Testing mitjançant l'aplicació de la tecnologia de Satisfactibilitat. L'objectiu de CT és proveir d'un conjunt de proves que permeti capturar la majoria dels errors en un Sistema Sota Prova (SUT). En particular, presentem diversos algorismes per a generar Covering Arrays Mixtes amb Restriccions (MCACs). En primer lloc, mostrem com aplicar la tecnologia de la Màxima Satisfactibilitat per a generar MCACs òptims i subòptims. En segon lloc, mostrem com computar MCACs amb strengths altes de manera efectiva (considerant strengths t>4) mitjançant l'aplicació de nous algorismes incomplets i solucions paral·leles. En tercer lloc, presentem el disseny i la implementació d'un nou generador d'instàncies per a Combinatorial Testing que utilitza instàncies del problema de la Satisfactibilitat per a generar SUTs artificials. Addicionalment, hem sigut capaços d'extraure diverses receptes sobre quin algorisme de MCAC aplicar a un SUT determinat. Tots els algorismes dissenyats durant aquesta tesi s'han implementat dins del paquet CTLog. Finalment, descrivim les nostres contribucions al framework de Python OptiLog, pensat per al desenvolupament d'aplicacions basades en la tecnologia SAT, el qual s'ha utilitzat per tal de crear CTLog.