Detail práce
Rozšíření nástroje ANaConDa pro dynamickou analýzu paralelních programů
Cieľom tejto práce bolo implementácia algoritmu FastTrack pre dynamickú analízu viacvlá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é program na binárnej úrovni. ANaConDA poskytuje analyzátorom potrebné informácie o behu programu, ktoré detektory následne využívajú k odhaľovaniu chýb.
dynamická analýza, FastTrack, ANaConDA, C, C++, data race, viac-vláknové programovanie, paralelné programy, vektor-klok, Djit+
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázku oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm "D".
Vysvětlete podrobněji klíčové aspekty návrhu a implementace nástroje, které ovlivňují jeho výkon a škálovatelnost z pohledu nasazení na reálné programy. Porovnejte složitost a přesnost vašeho řešení s metodami Djit+ a AtomRace.
Hliněná Dana, doc. RNDr., Ph.D. (UMAT FEKT VUT), člen
Chudý Peter, doc. Ing., Ph.D. MBA (UPGM FIT VUT), člen
Kreslíková Jitka, doc. RNDr., CSc. (UIFS FIT VUT), člen
Křena Bohuslav, Ing., Ph.D. (UITS FIT VUT), člen
@bachelorsthesis{FITBT20409, author = "Michal Hor\v{n}\'{a}k", type = "Bakal\'{a}\v{r}sk\'{a} pr\'{a}ce", title = "Roz\v{s}\'{i}\v{r}en\'{i} n\'{a}stroje ANaConDa pro dynamickou anal\'{y}zu paraleln\'{i}ch program\r{u}", school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}", year = 2017, location = "Brno, CZ", language = "czech", url = "https://www.fit.vut.cz/study/thesis/20409/" }