Result Details
Testing of Concurrent Programs with Genetic Algorithms
Křena Bohuslav, Ing., Ph.D., DITS (FIT)
Letko Zdeněk, Ing., Ph.D., DITS (FIT)
Ur Shmuel
Vojnar Tomáš, prof. Ing., Ph.D., DITS (FIT)
Metoda vkládání šumu ovlivňuje plánování vláken za účelem zvýšení počtu legálních proložení těchto vláken během testovacího procesu. Existuje mnoho rozmanitých typů heuristik pro vkládání šumu, často s několika parametry, jejichž nastavení s ohledem na maximální efektivitu šumu je často obtížné. V tomto článku navrhujeme novou aplikaci genetických algoritmů tak, aby hledaly vhodné typy heuristik pro vkládání šumu a jejich parametry s ohledem na daný testovaný software. Tato úloha je definována jako problém nastavení testu a šumu. Následně je diskutována problematika reprezentace instancí tohoto problému, vhodných účelových funkcí a parametrů genetických algoritmů při řešení této úlohy. Navržený přístup je vyhodnocen na několika příkladech. Srovnání ukazuje, že nový přístup poskytuje mnohem lepší výsledky než dosud používaný přístup založený na náhodném nastavování heuristik pro vkládání šumu.
Noise injection disturbs the scheduling of program threads in order to increase the probability that more of their different legal interleavings occur during the testing process. However, there exist many different types of noise heuristics with many different parameters that are not easy to set such that noise injection is really efficient. In this paper, we propose a new way of using genetic algorithms to search for suitable types of noise heuristics and their parameters. This task is formalized as the test and noise configuration search problem in the paper, followed by a discussion of how to represent instances of this problem for genetic algorithms, which objectives functions to use, as well as parameter tuning of genetic algorithms when solving the problem. The proposed approach is evaluated on a set of benchmarks, showing that it provides significantly better results than the so far preferred random noise injection.
genetic algorithms, noise injection, testing, multi-threaded programs
@article{BUT96964,
author="Vendula {Dudka} and Bohuslav {Křena} and Zdeněk {Letko} and Shmuel {Ur} and Tomáš {Vojnar}",
title="Testing of Concurrent Programs with Genetic Algorithms",
journal="Lecture Notes in Computer Science",
year="2012",
volume="2012",
number="7515",
pages="152--167",
issn="0302-9743",
url="http://www.fit.vutbr.cz/~vojnar/Publications/ssbse-12.pdf"
}
Dealing with Complex Data Structures and Concurrency within the Rich Model Toolkit, MŠMT, COST, OC10009, start: 2010-01-01, end: 2012-12-31, running
Mathematical and Engineering Approaches to Developing Reliable and Secure Concurrent and Distributed Computer Systems, GACR, Doktorské granty, GD102/09/H042, start: 2009-01-30, end: 2012-12-31, completed
Static and Dynamic Verification of Programs with Advanced Features of Concurrency and Unboundedness, GACR, Standardní projekty, GAP103/10/0306, start: 2010-01-01, end: 2013-12-31, running
Verifikace a optimalizace počítačových systémů, BUT, Vnitřní projekty VUT, FIT-S-12-1, start: 2012-01-01, end: 2014-12-31, completed