Detail práce
Migrace zdrojových kódů pomocí dekompilace
Tato práce se zabývá migrací zdrojových kódů vysokoúrovňových programovacích jazyků pomocí dekompilace. Migrační nástroj vyvinutý v rámci práce je postaven na prostřední a zadní části dekompilátoru projektu Lissom. V práci je rozebráno několik překladačů, které ze vstupního jazyka generují kód v LLVM IR. Vhodné překladače byly vybrány pro integraci do migračního nástroje. Kód přeložený do LLVM IR je vstupem prostřední optimalizační části dekompilátoru. Výstupem migračního nástroje je kód v jazyce C nebo v jazyce podobném Pythonu generovaný zadní častí dekompilátoru. Vstupními jazyky jsou Fortran a jeho dialekty, C/C++/Objective-C/Objective-C++ a D. V práci jsou popsány problémy spojené s migrací těchto jazyků, jejich řešení a způsoby jak zlepšit kvalitu a čitelnost výsledného kódu.
migrace, zdrojový kód, dekompilace, Lissom, LLVM IR, Fortran, C/C++, D, Objective C
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 výborně (A).
- Bolo by možné rozšíriť aktuálnu implementáciu o migrovanie zdrojových kódov napr. z Javy do C++ a naopak so zachovaním objektového prístupu?
Drábek Vladimír, doc. Ing., CSc. (UPSY FIT VUT), člen
Rogalewicz Adam, doc. Mgr., Ph.D. (UITS FIT VUT), člen
Ryšavý Ondřej, doc. Ing., Ph.D. (UIFS FIT VUT), člen
Steingartner William, Ing., Ph.D. (TUKE), člen
Zendulka Jaroslav, doc. Ing., CSc. (UIFS FIT VUT), člen
@mastersthesis{FITMT16407, author = "Tom\'{a}\v{s} Korec", type = "Diplomov\'{a} pr\'{a}ce", title = "Migrace zdrojov\'{y}ch k\'{o}d\r{u} pomoc\'{i} dekompilace", school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}", year = 2014, location = "Brno, CZ", language = "czech", url = "https://www.fit.vut.cz/study/thesis/16407/" }