Rozšíření nástroje ANaConDa pro dynamickou analýzu paralelních programů

Loading...
Thumbnail Image

Date

Authors

Horňák, Michal

Mark

D

Journal Title

Journal ISSN

Volume Title

Publisher

Vysoké učení technické v Brně. Fakulta informačních technologií

ORCID

Abstract

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.

Description

Citation

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.

Document type

Document version

Date of access to the full text

Language of document

cs

Study field

Informační technologie

Comittee

doc. Ing. Jaroslav Zendulka, CSc. (předseda) doc. Dr. Ing. Otto Fučík (místopředseda) Ing. František Grézl, Ph.D. (člen) doc. Ing. Petr Matoušek, Ph.D., M.A. (člen) Ing. Aleš Smrčka, Ph.D. (člen)

Date of acceptance

2017-06-12

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 defence

práce nebyla úspěšně obhájena

DOI

Collections

Endorsement

Review

Supplemented By

Referenced By

Citace PRO