Rozšíření nástroje ANaConDa pro dynamickou analýzu paralelních programů
An Extension of the ANaConDa Tool for Dynamic Analysis of Concurrent Programs

Author
Advisor
Vojnar, TomášReferee
Křena, BohuslavGrade
DAltmetrics
Metadata
Show full item recordAbstract
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
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+Language
čeština (Czech)Study brunch
Informační technologieComposition of Committee
doc. Ing. Jaroslav Zendulka, CSc. (předseda) doc. Dr. Ing. Otto Fučík (místopředseda) Ing. František Grézl, Ph.D. (člen) Ing. Petr Matoušek, Ph.D., M.A. (člen) Ing. Aleš Smrčka, Ph.D. (člen)Date of defence
2017-06-12Process of defence
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. Oponent hodnotil práci stupněm 4F, protože realizační výstup (analyzátor Fast Track) je nedokončený, a tím potažmo nepoužitelný. Student nedokázal vyvrátit výtky oponenta. Komise shledala nedostatky práce natolik závažné, že se práci rozhodla hodnotit jako nevyhovující " F ". Otázky u obhajoby: V sekci 6.1 na straně 24 uvádíte, že paměťová náročnost pro uložení vektorů hodin je nejhůře lineární. To však platí pro uložení jednoho vektoru hodin, přičemž pro detekci je potřeba vektor hodin pro každé vlákno, pro každý zámek a dva vektory pro každou sdílenou proměnnou. Neměla by tedy paměťová složitost být kvadratická, když už zanedbáme prostor pro zámky a proměnné? Když se při detekci místo vektoru hodin používá epocha, má použitá datová struktura pro vektor všechny položky kromě první nulové (sekce 7.2.1). Nebylo by vhodnější použít takovou datovou strukturu, která by tyto zbytečné položky vůbec neměla?Result of the defence
práce nebyla úspěšně obhájenaPersistent identifier
http://hdl.handle.net/11012/187210Source
HORŇÁK, M. Rozšíření nástroje ANaConDa pro dynamickou analýzu paralelních programů [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2017.Collections
- 2017 [328]