|
Bobox Runtime Optimization
Krížik, Lukáš ; Zavoral, Filip (vedoucí práce) ; Parízek, Pavel (oponent)
Cílem této diplomové práce je vytvořit nástroj na optimalizaci kódu pro paralelní prostředí Bobox. Nástroj redukuje počet krátce a dlouze běžících úloh na základě statické analýzy kódu. Některé případy krátce běžících úloh způsobují zbytečné přeplánování. Pokud plánovač nemá dostatek informací o dané úloze, plánovač může úlohu naplánovat, i když tato úloha nemá všechna potřebná vstupní data. Pro odstranění krátce běžící úlohy nástroj analyzuje použití vstupních dat a informuje plánovač. Dlouze běžící úlohy můžou v některých případech potlačit paralelismus. Větší granularita úloh může znatelně vylepšit časy běhu v paralelním prostředí. Pro odstranění dlouze běžících úloh nástroj musí být schopen vyhodnotit složitost kódu a vložit příkaz pro přeplánování na vhodné místo. Powered by TCPDF (www.tcpdf.org)
|
|
Jednoduché vývojové prostředí pro C++ na platformě Android
Režňák, Pavel ; Janoušek, Vladimír (oponent) ; Peringer, Petr (vedoucí práce)
Tato bakalářská práce se zabývá vytvořením prostředí pro překlad aplikací psaných v jazycích C a C++. Vývojové prostředí se skládá z aplikace emulující terminál a balíčků obsahujících open-source překladače a pomocné nástroje, přeložené pro mobilní zařízení s ARM procesorem a operačním systémem Android. Tento proces zahrnuje vygenerování křížového překladače pro systém Android z nástrojů NDK, správné nastavení parametrů během konfigurace, opravy zdrojových souborů těchto open-source překladačů a vytvoření aplikace instalovatelné pod OS Android, která umožní snadné použití těchto nástrojů.
|
|
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.
|
|
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.
|
| |
|
Překladač pro platformu EdkDSP
Baručák, Robert ; Dolíhal, Luděk (oponent) ; Masařík, Karel (vedoucí práce)
Cílem bakalářské práce bylo vytvoření překladového systému pro platformu EdkDSP. Prezentovány jsou dva odlišné přístupy ke konstrukci překladového systému určeného pro multiprocesorovou platformu. Práce je založená na překladačové infrastruktuře LLVM. Výsledkem jsou dvě funkční verze překladového systému, které generují kód využívající všechny hardwarové prostředky poskytované cílovou platformou. Vytvořená řešení mají sadu omezení, která jsou diskutována v textu práce.
|
|
Filtrace varování překladačů
Krajčovičová, Mária ; Horáček, Petr (oponent) ; Zemek, Petr (vedoucí práce)
Cílem bakalářské práce bylo navržení a vytvoření programu, který fi ltruje varování bez zásahu do zdrojového kódu. Práce se zabíva překladači GCC, Clang, Javac a GHC, jejich funkčností a varováními, které tyto překladače produkují. Výsledkem práce je aplikace, která je schopna filtrovat varování pro uvedené překladače.
|