Detail práce

Optimalizace LLVM IR pro účely zpětného překladu

Diplomová práce Student: Kollár Jaroslav Akademický rok: 2014/2015 Vedoucí: Matula Peter, Ing.
Název anglicky
LLVM IR Optimizations for Decompilation
Jazyk práce
český
Abstrakt

Tato práce se zabývá návrhem a implementací optimalizací ve střední části zpětného překladače vyvíjeného firmou AVG Technologies. Úlohou těchto optimalizací je zlepšit čitelnost produkovaného zdrojového kódu a současně vylepšit některé navržené optimalizace v zadní části zpětného překladače. V úvodu jsou poskytnuty základní informace o reverzním inženýrství a zpětných překladačích, které slouží pro účel uvedení do dané problematiky. Poté se nachází popis stavu zpětného překladače před zahájením této diplomové práce. Dále následuje hlavní část práce, která se věnuje popisu návrhu a implementace jednotlivých navržených optimalizací. Poté následuje popis testování optimalizací a shrnutí dosažených výsledků. V závěru práce je diskutován budoucí možný vývoj.

Klíčová slova
Reverzní inženýrství, zpětný překladač, zpětný překlad, střední část zpětného překladače, optimalizace, čitelnost zdrojového kódu.
Ústav
Studijní program
Informační technologie, obor Bezpečnost informačních technologií
Soubory
Odložení zveřejnění
Plný text práce bude zveřejněn po 10 letech
Stav
obhájeno, hodnocení A
Obhajoba
19. června 2015
Oponent
Průběh obhajoby

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.

Otázky u obhajoby
  1.  V podpodkapitole 6.2.3 navrhujete algoritmus pro hledání mrtvých přiřazení. Jedná se o Váš návrh nebo citujete popisovanou metodu z literatury? Hledání mrtvých přiřazení je jedna z využití data-flow analýzi. Tato analýza definuje framework, který se dá využít pro velkou řadu dalších optimalizací. Tato analýza není nová a proto bych čekal citaci nebo alespoň srovnání.
  2. Zrychlení zpětného překladu přesunem optimalizací ze zadní části překladače do přední je otázka srovnání dvou časů. Jakým způsobem se hodnotí čitelnost kódu? Počtem zanoření bloků, počtem řádků funkce nebo se jedná o manuální kotrolu?
Komise
Hanáček Petr, doc. Dr. Ing. (UITS FIT VUT), předseda
Balík Miroslav, Ing., Ph.D. (FIT ČVUT), člen
Burget Radek, doc. Ing., Ph.D. (UIFS FIT VUT), člen
Drábek Vladimír, doc. Ing., CSc. (UPSY FIT VUT), člen
Holík Lukáš, doc. Mgr., Ph.D. (UITS FIT VUT), člen
Matoušek Petr, doc. Ing., Ph.D., M.A. (UIFS FIT VUT), člen
Citace
KOLLÁR, Jaroslav. Optimalizace LLVM IR pro účely zpětného překladu. Brno, 2015. Diplomová práce. Vysoké učení technické v Brně, Fakulta informačních technologií. 2015-06-19. Vedoucí práce Matula Peter. Dostupné z: https://www.fit.vut.cz/study/thesis/16163/
BibTeX
@mastersthesis{FITMT16163,
    author = "Jaroslav Koll\'{a}r",
    type = "Diplomov\'{a} pr\'{a}ce",
    title = "Optimalizace LLVM IR pro \'{u}\v{c}ely zp\v{e}tn\'{e}ho p\v{r}ekladu",
    school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}",
    year = 2015,
    location = "Brno, CZ",
    language = "czech",
    url = "https://www.fit.vut.cz/study/thesis/16163/"
}
Nahoru