Národní úložiště šedé literatury Nalezeno 73 záznamů.  1 - 10dalšíkonec  přejít na záznam: Hledání trvalo 0.01 vteřin. 
Efficient Instrumentation of Programs using LLVM Framework
Hucovič, Vladimír ; Vojnar, Tomáš (oponent) ; Pavela, Jiří (vedoucí práce)
The goal of this thesis is to develop a new, efficient profiler to extend the Perun tool suite, which focuses on systematic and long-term performance monitoring of software projects. The new profiler is based on a technique of compile-time instrumentation using the Pass Framework API within the LLVM compiler infrastructure project. The implemented profiler focuses on collecting the number of executions of each basic block in the program. Several optimization techniques, including inlining instrumentation code and function control flow graph analysis were used to reduce the runtime overhead of the profiler. The performance of the profiler was evaluated on two real-world projects and experiments have shown that it achieved lower profiling overhead than some established open-source tools.
Překladač jazyka C pro mikroprocesor AVR32
Nagy, Michal ; Husár, Adam (oponent) ; Hruška, Tomáš (vedoucí práce)
Tato bakalářská práce se zabývá tvorbou backendu architektury AVR32 pro překladač LLVM. Jádro práce tvoří seznamování se způsobem popisu architektur v LLVM a vlastní implementace backendu AVR32. Dále uvádím několik problémů, na které jsem během implementace narazil, a diskutuji jejich možná řešení. Výsledkem práce je funkční backend s několika omezeními zmíněnými v závěru práce.
Překlad C++ aplikací pro vestavěná zařízení
Nosterský, Milan ; Přikryl, Zdeněk (oponent) ; Hruška, Tomáš (vedoucí práce)
Tato diplomová práce se zabývá přidáním podpory překladu jazyka C++ a jeho standardu C++11 v rámci překladače pro vestavěné systémy. Překladač, založený na projektu LLVM se generuje v rámci prostředí Codasip Studia. Toto prostředí slouží pro návrh procesorů s aplikačně specifickou instrukční sadou, kdy umožňuje na základě popisu sémantiky instrukční sady generovat překladač pro libovolnou cílovou architekturu. Jazyk C++ je jazyk vycházející z jazyka C, rozšířený o objektovou orientaci a několik nových funkcionalit. Jazyk C++ umožňuje psát velmi efektivní kód na vysoké úrovni abstrakce. V rámci testovací fáze je implementace podpory jazyka C++ ověřena na modelech procesorových jader s využitím testovací sady.
Analýza práce s dynamickými datovými strukturami v C programech
Šoková, Veronika ; Rogalewicz, Adam (oponent) ; Vojnar, Tomáš (vedoucí práce)
Táto diplomová práca sa zaoberá analýzou dynamických dátových štruktúr pomocou analýzy tvaru použitej v nástroji Predator. Popisuje zvolenú abstraktnú doménu pre reprezentáciu pamäte vo forme symbolických grafov pamäte. Ďalej sa zaoberá návrhom prostredia pre vývoj statických analyzátorov nad clang/LLVM. Prínosom tejto práce je vytvorenie a otestovanie transformačných priechodov zjednodušujúcich LLVM IR medzikód. Ďalším prínosom je optimalizácia parametrov paralelnej nadstavby Predatora opakovaným spúšťaním testov z medzinárodnej súťaže SV-COMP'16, kde táto verzia nástroja Predator získala zlatú medailu v kategórii Heap Data Structures. Posledným prínosom je návrh architektúry samotného verifikačného jadra s ohľadom na SMG doménu.
Detection of Expressions with Undefined Behavior in C Language
Hellebrandt, Lukáš ; Vojnar, Tomáš (oponent) ; Müller, Petr (vedoucí práce)
This thesis engages in detection of undefined behavior in the C language programs. We focus on undefined behavior stemming from incorrect work with sequence points and side effects. We perform a theoretical analysis and put terms like undefined behavior or side effect in context of the paper. Furthermore, we explain dangerousness of the constructs leading to undefined behavior. We propose a method for automated detection of the mentioned kind of undefined behavior. Finally, we design and implement a tool for its automated static detection and show the principles of the tool’s function. While designing the tool, contrary to current solutions, we stress functionality even in cases like accessing the memory via a pointer or from a called function. The thesis contains examples of dangerous constructs, functions of the created tool are demonstrated on some of them.
Architecture Information for LLVM Compiler Optimizations
Svoboda, Jan ; Dolíhal, Luděk (oponent) ; Hruška, Tomáš (vedoucí práce)
This thesis deals with the automatic extraction of processor architecture information from the CodAL language. Extracted information is used as the base for a cost model of the optimizer in the LLVM compiler. In this thesis, a new system was implemented, that creates the cost model, transforms it into a C++ code and compiles it into a dynamic library. This library is loaded at run-time by the compiler and used for better decision-making during the optimization process. The system achieves an average reduction in program code size of 14% and up to 68% improvement in the performance of the generated code.
Detekce podobnosti zdrojových souborů v jazyce C
Rek, Petr ; Kučera, Jiří (oponent) ; Matula, Peter (vedoucí práce)
Tato práce se zabývá návrhem, implementací a testováním nástroje csim, sloužícího pro porovnávání podobnosti dvou souborů v jazyce C. Primárním účelem vzniku tohoto nástroje je testování zpětného překladače vyvíjeného společností AVG Technologies s.r.o. Testování je prováděno na základě podobnosti abstraktního syntaktického stromu původního a dekompilovaného souboru. Čtenář je tedy seznámen se základy problematiky zpětného inženýrství, zejména zpětným překladem binárního kódu do vyšší úrovně reprezentace. Dále je popsán koloběh, kterým kód prochází od jeho vytvoření až po zpětný překlad, a jeho vliv na tento proces. Čtenáři je také poskytnut přehled o projektu LLVM a překladači Clang, který je základním stavebním kamenem nástroje csim.
Nástroj pro statickou analýzu programů se seznamy
Kotoun, Michal ; Lengál, Ondřej (oponent) ; Vojnar, Tomáš (vedoucí práce)
Tvorba softwarového analyzátoru je komplexní úloha -- je nutno implementovat parsování zdrojového kódu, reprezentaci instrukcí, abstrakci hodnot, uživatelské rozhraní, ... a také analýzu samu. Abychom předešli zbytečné práci vývojářů analýz, rozhodli jsme se vytvořit framework pro statickou analýzu programů. Předkládáme obecný návrh frameworku zvaného Angie s důrazem na jeho použitelnost a popisujeme prototyp frameworku, včetně modelové analýzy založené na symbolických paměťových grafech. Angie je implementován v C++ a používá nástroje z kolekce LLVM pro parsování zdrojového kódu analyzovaných programů.
Software pipelining v překladači LLVM
Glasnák, Ondrej ; Hynek, Jiří (oponent) ; Masařík, Karel (vedoucí práce)
Tahle práce pojednává o návrhu a implementaci techniky programového zřetězení aneb Software pipelining, optimalizaci cyklů v programu, která se snaží plně využít paralelismus na úrovni instrukcí. To dosahuje plánovaním instrukcí způsobem, aby se jednotlivé iterace cyklu překrývaly a bylo je možné vykonávat zřetězeně. Optimalizace takhle zvyšuje rychlost výsledného programu. Je tu popsaný návrh a implementace algoritmu Swing Modulo Scheduling, efektivní metody pro nacházení optimálního plánu pro zřetězení cyklů. Práce byla vytvořena jako součást většího projektu a to vývoje Codasip Framework. Jeho součástí je překladač jazyka C do jazyka symbolických instrukcí vytvořený nad překladačovou architekturou LLVM. V tomto překladači je implementován výsledek této práce.
Alias analýza v překladači jazyka C
Bolvanský, Dávid ; Zachariášová, Marcela (oponent) ; Hruška, Tomáš (vedoucí práce)
Táto práca sa venuje problematike alias analýzy a možnostiam jej vylepšenia v LLVM frameworku. Cieľom tejto práce je zlepšiť jej presnosť, čoho bolo dosiahnuté rozšírením implementácie Andersenovho algoritmu o citlivosť na položky štruktúr. Vysvetlené sú pojmy súvisiace s alias analýzou a je popísaný princíp algoritmov alias analýzy. Predstavený je koncept LLVM frameworku, popísané sú aktuálne implementované algoritmy alias analýzy. Porovnanie týchto algoritmov bolo vykonané z pohľadu ich princípu fungovania, vlastností a obmedzení. Implementácia citlivosti na položky štruktúr bola vyskúšaná na sade programov, ktorými sa testujú prekladače. Bol preskúmaný jej vplyv na rýchlosť prekladu programov a ich výkonnosť. Získané výsledky preukazujú zvýšenie presnosti alias analýzy v LLVM frameworku.

Národní úložiště šedé literatury : Nalezeno 73 záznamů.   1 - 10dalšíkonec  přejít na záznam:
Chcete být upozorněni, pokud se objeví nové záznamy odpovídající tomuto dotazu?
Přihlásit se k odběru RSS.