Knihovna pro profilování datových struktur programů C/C++
Library for Profiling of Data Structures of C/C++ Programs

Author
Advisor
Fiedor, TomášReferee
Rogalewicz, AdamGrade
AAltmetrics
Metadata
Show full item recordAbstract
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. Performance bugs may greatly affect the quality of the system being developed and even cause irreversible damage in some critical sectors. Hence profiling - one of the currently most widespread technique of performance analysis - is usually applied to find the bugs. However, most of the current solutions commonly lack comprehensible graphical outputs and detailed analysis of algorithms in regard to their complexity. This thesis introduces a novel profiling tool which focuses on automatic estimation of complexity of dynamic data structures. The proposed approach collects statistical data out of program runs and uses regression analysis to find the most accurate model serving as an estimate of algorithmic complexity. The resulting prototype was subjected to a series of experiments that evaluate the accuracy of the results, demonstrate practical uses and illustrate the graphical output of the tool.
Keywords
profilace, výkonnostní analýza, asymptotické složitosti, regresní analýza, algoritmy, dynamické datové struktury, C, C++, profiling, performance analysis, asymptotic complexity, regression analysis, algorithms, dynamic data structures, C, C++Language
čeština (Czech)Study brunch
Informační technologieComposition of Committee
prof. Ing. Jan M. Honzík, CSc. (předseda) doc. Ing. Vladimír Janoušek, Ph.D. (místopředseda) doc. RNDr. Michal Novák, Ph.D. (člen) Ing. Josef Strnadel, Ph.D. (člen) Ing. Igor Szőke, Ph.D. (člen)Date of defence
2017-06-13Process 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. 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). Otázky u obhajoby: Jaké jsou teoretické a praktické limity profilovaného kódu? Jaký nejvetší program jste zvládl ve vašem frameworku instrumentovat a testovat?Result of the defence
práce byla úspěšně obhájenaPersistent identifier
http://hdl.handle.net/11012/69765Source
PAVELA, J. Knihovna pro profilování datových struktur programů C/C++ [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2017.Collections
- 2017 [328]