Search based software testing for the generation of synchronization sequences for mutation testing of concurrent programs

Concurrent programming has become an essential paradigm for reductions in the computational time in many application domains. However, the validation and testing activity is more complex than the testing for sequential programs due to the non-determinism, synchronization and inter-process communicat...

Descripción completa

Detalles Bibliográficos
Autor: Silva, Rodolfo Adamshuk
Tipo de recurso: tesis doctoral
Estado:Versión publicada
Fecha de publicación:2018
País:Brasil
Institución:Universidade de São Paulo (USP)
Repositorio:Biblioteca Digital de Teses e Dissertações da USP
Idioma:inglés
OAI Identifier:oai:teses.usp.br:tde-10102018-141934
Acceso en línea:http://www.teses.usp.br/teses/disponiveis/55/55134/tde-10102018-141934/
Access Level:acceso abierto
Palabra clave:Concurrent programming
Mutation testing
Programação concorrente
Search based software testing
Teste de mutação
Teste de software baseado em busca
Descripción
Sumario:Concurrent programming has become an essential paradigm for reductions in the computational time in many application domains. However, the validation and testing activity is more complex than the testing for sequential programs due to the non-determinism, synchronization and inter-process communication. Mutation testing is based on mistakes produced by software developers and presents a high effectiveness to reveal faults. However, high computational costs limit its applicability even for sequential code, becoming higher for concurrent programs in which each test has to be executed with different (ideally all) thread schedules. To date, only selective mutation have been applied to reduce the number of mutants in concurrent programs, however, the problem of state explosion of thread schedules still remains. This Ph.D. thesis presents the SBBMuT approach that applies deterministic execution and genetic algorithm for the generation and execution of a set of synchronization sequences during the mutation testing of Java multithreaded programs. An experimental study was conducted, and the results showed that the set of synchronization sequences generated by SBBMuT achieved a higher mutation score in comparison with the use of the Java PathFinder model checking tool.