Rozšíření nástroje ANaConDa pro dynamickou analýzu paralelních programů - Horňák, Michal (Vysoké učení technické v Brně. Fakulta informačních technologií, 2017)
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.
An Extension of the ANaConDa Tool for Dynamic Analysis of Concurrent Programs
Keywords: dynamická analýza; FastTrack; ANaConDA; C; C++; data race; viac-vláknové programovanie; paralelné programy; vektor-klok; Djit+; dnamic analysis; FastTrack; ANaConDA; C; C++; data race; multithreading; parallel programs; vector-clock; Djit+