Original title:
Rozšíření nástroje ANaConDa pro dynamickou analýzu paralelních programů
Translated title:
An Extension of the ANaConDa Tool for Dynamic Analysis of Concurrent Programs
Authors:
Horňák, Michal ; Křena, Bohuslav (referee) ; Vojnar, Tomáš (advisor) Document type: Bachelor's theses
Year:
2017
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
Cieľom tejto práce bolo implementácia algoritmu FastTrack pre dynamickú analízu viac-vláknových programov v jazyku C/C++. Ide o algoritmus detekujúci chyby typu data race. Je založený na relácii happens-before zakódovanej do tzv. vektor-klokov. Tie umožňujú extrapolovať beh programu a odhaľovať tak potenciálne chyby, ktoré sa v aktuálnom behu nevyskytli, ale v iných exekúciách by sa mohli vyskytnúť. Algoritmus je implementovaný v prostredí ANaConDA. Jedná sa o nástroj slúžiaci pre jednoduchšie implementovanie dynamických analizátorov monitorujúcich paralelné programy na binárnej úrovni. ANaConDA poskytuje analyzátorom potrebné informácie o behu programu, ktoré detektory následne využívaju k odhaľovaniu chýb.
The main goal of this thesis is to implement algorithm FastTrack for dynamic analysis of multi-threaded programs in C/C++. FastTrack is algorithm which detects data race errors. It is based on happens-before relation encoded into the vector-clocks. Vector-clocks allows extrapolation of the execution which improves detection of potential errors, which were not seen in the actual run of the program however in other executions they could cause problems. Algorithm is implemented into the framework ANaConDA. ANaConDA is a tool for implementation of dynamic analyzers of parallel programs on binary level. It provides neccessary run time program informations for detectors use to discover concurency errors.
Keywords:
ANaConDA; C; C++; data race; Djit+; dnamic analysis; FastTrack; multithreading; parallel programs; vector-clock; ANaConDA; C; C++; data race; Djit+; dynamická analýza; FastTrack; paralelné programy; vektor-klok; viac-vláknové programovanie
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/187210