Advanced Static Performance Analysis Using Meta Infer
but.committee | prof. Dr. Ing. Pavel Zemčík, dr. h. c. (předseda) doc. Ing. Martin Čadík, Ph.D. (člen) Ing. Zbyněk Křivka, Ph.D. (člen) Ing. Vítězslav Beran, Ph.D. (člen) doc. Ing. Peter Chudý, Ph.D., MBA (člen) Ing. David Bařina, Ph.D. (člen) | cs |
but.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á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 A. | cs |
but.jazyk | angličtina (English) | |
but.program | Informační technologie a umělá inteligence | cs |
but.result | práce byla úspěšně obhájena | cs |
dc.contributor.advisor | Vojnar, Tomáš | en |
dc.contributor.author | Pavela, Ondřej | en |
dc.contributor.referee | Rogalewicz, Adam | en |
dc.date.accessioned | 2023-07-17T08:06:55Z | |
dc.date.available | 2023-07-17T08:06:55Z | |
dc.date.created | 2023 | cs |
dc.description.abstract | Statický analyzátor složitosti Looper slouží pro odvozování přesných horních mezí ceny vykonání programů. Jako teoretický základ byl využit dříve existující nástroj Loopus a jeho abstraktní programový model využívající tzv. difference constraints (nerovnosti typu + ), které umožňují přirozeným způsobem modelovat typické modifikace počítadel cyklů = + + a = + 0. Looper byl původně navržen a implementován v rámci autorovy bakalářské práce jako zásuvný modul aplikačního rámce Meta Infer. Výsledný nástroj nicméně nenaplnil očekávání při pokusech o jeho nasazení na reálné programy. Tato diplomová práce představuje návrh nové verze, která si dává za cíl odstranit hlavní limitace původního nástroje Looper, zejména díky nově podporované in- terprocedurální analýze. Dále byla implementována řada rozšíření, které cílily na zvýšení přesnosti intraprocedurální analýzy, jako např. nový abstrakční algoritmus, podpora pro složené podmínky v hlavičkách smyček a další. Kromě toho bylo také výrazně vylepšeno logování, hlášení chyb a sběr výsledků analýzy. Na závěr byla skrze skrze rozsáhlé exper- imenty demonstrována schopnost nové verze nástroje Looper analyzovat reálný kód obec- nějším, škálovatelnějším a přesnějším způsobem. | en |
dc.description.abstract | Looper is a static complexity analysis tool for inference of tight upper bounds on the exe- cution cost of programs. It is based on the previously existing Loopus tool which used abstract program model of difference constraints (inequalities of the form + ), which allows for natural abstraction of common loop counter updates = + + and = + 0. Looper was initially proposed and implemented in author’s bachelor’s thesis as a checker for the Meta Infer framework but the tool failed to meet the expectations when tested on real-world code. This master’s thesis proposes a new improved version of Looper that aims at solving the main limitations of the original tool, namely through introduction of interprocedural analysis. Additionally, various extensions target- ing improved precision of the intraprocedural analysis, such as new abstraction algorithm, handling of compound loop conditions and more, were implemented. Moreover, logging, issue reporting and collection of results has been significantly improved. Finally, through extensive experiments with the new Looper version, the ability to analyze real-world code in a more general, scalable and precise way was shown. | cs |
dc.description.mark | A | cs |
dc.identifier.citation | PAVELA, O. Advanced Static Performance Analysis Using Meta Infer [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2023. | cs |
dc.identifier.other | 148637 | cs |
dc.identifier.uri | http://hdl.handle.net/11012/211956 | |
dc.language.iso | en | cs |
dc.publisher | Vysoké učení technické v Brně. Fakulta informačních technologií | cs |
dc.rights | Standardní licenční smlouva - přístup k plnému textu bez omezení | cs |
dc.subject | Meta Infer | en |
dc.subject | Statická analýza | en |
dc.subject | Analýza mezí | en |
dc.subject | Analýza složitosti | en |
dc.subject | Amortizovaná analýza | en |
dc.subject | Analýza ceny | en |
dc.subject | Inkrementální analýza | en |
dc.subject | Modulární analýza | en |
dc.subject | Rozdílová analýza | en |
dc.subject | Degradace složitosti | en |
dc.subject | Kompoziční analýza | en |
dc.subject | Interprocedurální analýza | en |
dc.subject | Škálovatelnost | en |
dc.subject | Looper | en |
dc.subject | Loopus | en |
dc.subject | Imperativní programy | en |
dc.subject | Meta Infer | cs |
dc.subject | Static analysis | cs |
dc.subject | Bound analysis | cs |
dc.subject | Complexity analysis | cs |
dc.subject | Amortized analysis | cs |
dc.subject | Cost Analysis | cs |
dc.subject | Difference constraints | cs |
dc.subject | Incremental analysis | cs |
dc.subject | Modular analysis | cs |
dc.subject | Differential analysis | cs |
dc.subject | Complexity degradation | cs |
dc.subject | Compositional analysis | cs |
dc.subject | Interprocedural analysis | cs |
dc.subject | Scalability | cs |
dc.subject | Looper | cs |
dc.subject | Loopus | cs |
dc.subject | Imperative programs | cs |
dc.title | Advanced Static Performance Analysis Using Meta Infer | en |
dc.title.alternative | Pokročilá statická analýza výkonnosti v nástroji Meta Infer | cs |
dc.type | Text | cs |
dc.type.driver | masterThesis | en |
dc.type.evskp | diplomová práce | cs |
dcterms.dateAccepted | 2023-06-20 | cs |
dcterms.modified | 2023-06-20-16:10:27 | cs |
eprints.affiliatedInstitution.faculty | Fakulta informačních technologií | cs |
sync.item.dbid | 148637 | en |
sync.item.dbtype | ZP | en |
sync.item.insts | 2023.07.17 10:06:55 | en |
sync.item.modts | 2023.07.17 09:46:43 | en |
thesis.discipline | Počítačová grafika a interakce | cs |
thesis.grantor | Vysoké učení technické v Brně. Fakulta informačních technologií. Ústav inteligentních systémů | cs |
thesis.level | Inženýrský | cs |
thesis.name | Ing. | cs |