Detail práce
Knihovna pro profilování datových struktur programů C/C++
Výkonnostní chyby mohou do velké míry negativně ovlivnit kvalitu vyvíjeného systému a v některých kritických odvětvích způsobit nevratné škody. K nalezení těchto chyb je obvykle využita profilace v současnosti jedna z nejvíce rozšířených technik výkonnostní analýzy. Přestože existují rozšířené profilovací nástroje, tak většina z nich postrádá srozumitelný grafický výstup a schopnost detailnějšího studia složitostí algoritmů. Tato práce představuje nový profilovací nástroj zaměřený právě na automatizovaný odhad složitostí algoritmů a operací nad dynamickými datovými strukturami. Principem navrženého řešení je sběr statistických dat z běhu programu a následné provedení regresní analýzy s cílem nalézt model, který nejvhodněji reprezentuje složitost algoritmu. Výsledný prototyp byl podroben sérii experimentů, které vyhodnocují přesnost produkovaných výsledků, demonstrují praktická využití nástroje a názorně představují jeho grafický výstup.
profilace, výkonnostní analýza, asymptotické složitosti, regresní analýza, algoritmy, dynamické datové struktury, C, C++
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. 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 výborně (A).
- Jaké jsou teoretické a praktické limity profilovaného kódu? Jaký nejvetší program jste zvládl ve vašem frameworku instrumentovat a testovat?
Janoušek Vladimír, doc. Ing., Ph.D. (UITS FIT VUT), člen
Novák Michal, doc. RNDr., Ph.D. (UMAT FEKT VUT), člen
Strnadel Josef, Ing., Ph.D. (UPSY FIT VUT), člen
Szőke Igor, Ing., Ph.D. (UPGM FIT VUT), člen
@bachelorsthesis{FITBT20045, author = "Ji\v{r}\'{i} Pavela", type = "Bakal\'{a}\v{r}sk\'{a} pr\'{a}ce", title = "Knihovna pro profilov\'{a}n\'{i} datov\'{y}ch struktur program\r{u} C/C++", 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/20045/" }