Detail práce
Rozvoj instrumentace programu při překladu
Diplomová práce se věnuje vytvoření nástroje pro instrumentaci programu během překladu v LLVM překladači. Nástroj umožňuje instrumentovat přístupy do paměti a funkce. Instrumentace byla realizována pomocí přidání průchodu v optimalizační fázi překladače LLVM. Informace o proměnných jsou spravovány vytvořeným frameworkem, který se připojí k programu během sestavování. Doba běhu programu se zavedenou instrumentací zvýší časovou režii programu při vypnuté nepřímé adresaci průměrně o 14 % a při zapnuté nepřímé adresaci o 23 %. Hlavním přínosem práce je poskytnutí snadné instrumentace programu, která dokáže sledovat i operace nad lokálními proměnnými (nepřímou adresaci) a umožňuje instrumentovat i vícevláknové programy. Nástroj je také začleněn do sady nástrojů Testos, kde poskytuje automatickou instrumentaci pro nástroj Spectra.
LLVM, LLVM IR, instrumentace během překladu, Testos, LLVM průchod, instrumentační knihovna, instrumentační framework, instrumentace funkce, instrumentace přístupu do paměti, modul LLVM, vícevláknovost, nepřímá adresace
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ázky 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 B.
- Jak zvládáte instrumentaci metod a skrytý parametr this?
- Proč jste nepoužil UML diagram tříd v dokumentaci návrhu?
- Co je potřeba udělat pro použití instrumentačního nástroje?
- V jakých aspektech je Váš nástroj lepší než konkurenční?
Grégr Matěj, Ing., Ph.D. (UIFS FIT VUT), člen
Holík Lukáš, doc. Mgr., Ph.D. (UITS FIT VUT), člen
Kořenek Jan, doc. Ing., Ph.D. (UPSY FIT VUT), člen
Malinka Kamil, Mgr., Ph.D. (UITS FIT VUT), člen
Polčák Libor, Ing., Ph.D. (UIFS FIT VUT), člen
@mastersthesis{FITMT21397, author = "V\'{a}clav \v{S}ev\v{c}\'{i}k", type = "Diplomov\'{a} pr\'{a}ce", title = "Rozvoj instrumentace programu p\v{r}i p\v{r}ekladu", school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}", year = 2020, location = "Brno, CZ", language = "czech", url = "https://www.fit.vut.cz/study/thesis/21397/" }