Original title:
Pokrytím řízené testování vícevláknových programů
Translated title:
Coverage-Driven Testing for Multithreaded Programs
Authors:
Lietavcová, Zuzana ; Šimková, Hana (referee) ; Letko, Zdeněk (advisor) Document type: Bachelor's theses
Year:
2015
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
Tato práce se zabývá problematikou hledání chyb ve vícevláknových programech pomocí techniky pokrytím řízeného testování, jak je chápáno ve studovaném nástroji Maple. Testování se se skládá ze dvou fází. V první fázi se buduje množina pokrytelných chování testovaného programu. Následně se algoritmus snaží dosáhnout těchto chování za pomoci deterministického vykonání testu.Hlavní přínos práce spočívá v uceleném popisu nástroje Maple, včetně technických detailů.Na základě studia jsou identifikovány slabá místa. Některé z nich, konkrétně využívání náhodného rozhodování a prioritizace vynucovaných chování, jsou blíže studovány.Výsledkem je několik úprav nástroje Maple, ze kterých některé vedou k většímu počtu úspěšných dosažení chování a v určitých případech k vyššímu počtu vyvolání chyb, což je experimentálně demonstrováno na sadě vícevláknových programů.
This work deals with a problem of searching errors in multithreaded programs using a coverage-driven testing technique as perceived in program Maple. The testing consists of two phases. In the first phase of testing a set of coverable behaviours of the tested program is being built. Consequently, the algorithm tries to achieve these behaviours with a help of deterministic test execution. The main acquisition of the work lays in a compact description of Maple including all the technical details. Based on the study of the tool there were weak places identified. Some of them are studied in detail, especially those which use random decision making and prioritizing of the forced behaviours. The result are several modifications of Maple, from which some lead to a higher number of exposed behaviours and higher error exposition in some cases. This is demonstrated on a test suite of parallel programs.
Keywords:
dynamic analysis; instrumentation; Maple; multithreaded programs; parallel programming; Pin; testing; virtualization; dynamická analýza; instrumentace; Maple; paralelní programování; Pin; testování; virtualizace; vícevláknové programy
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/52497