Publication Details
Testing Concurrent Programs Using Multi-objective Genetic Algorithms
Křena Bohuslav, Ing., Ph.D. (DITS FIT BUT)
Letko Zdeněk, Ing., Ph.D. (DITS FIT BUT)
Pluháčková Hana, Mgr. Bc. (DITS FIT BUT)
Vojnar Tomáš, prof. Ing., Ph.D. (DITS FIT BUT)
t has been repeatedly shown in the literature that noise injection techniques are a useful tool for testing real-life concurrent programs. However, these techniques provide good results only if a configuration of noise injection suitable for a given program and testing environment is used. In our previous work, we have formulated the problem of finding such a configuration as the test and noise configuration search (TNCS) problem, and we have proposed an application of the genetic algorithm (GA) for solving it. Despite this approach has been shown to provide valuable results, it has also highlighted several problems that were not solved or at least not solved in a sufficient way. In particular, the same noise and test configuration can be evaluated differently in different test runs due to the inherent thread scheduling non-determinism, which can have a very bad impact on the GA since the same individual gets evaluated differently at different times. Moreover, one has to take into account multiple objective functions which can have very different ranges and can --- but need not --- correlate. Finally, the cost of handling different coverage tasks can be very different. In this paper, in order to better deal with all these problems, we propose to use a multi-objective genetic algorithm (MOGA) instead of the classical GA, and we instantiate MOGA in a way suitable for solving the TNCS problem. We then present a series of experimental results showing that our application of MOGA does indeed provide highly promising results.
@TECHREPORT{FITPUB10575, author = "Vendula Dudka and Bohuslav K\v{r}ena and Zden\v{e}k Letko and Hana Pluh\'{a}\v{c}kov\'{a} and Tom\'{a}\v{s} Vojnar", title = "Testing Concurrent Programs Using Multi-objective Genetic Algorithms", pages = 35, year = 2013, location = "FIT-TR-2013-05, Brno, CZ", language = "english", url = "https://www.fit.vut.cz/research/publication/10575" }