ŽAMBERSKÝ, Z. Zpětný překladač jazyka Java [online]. Brno: Vysoké učení technické v Brně. Fakulta strojního inženýrství. 2015.

Posudky

Posudek vedoucího

Roupec, Jan

Cílem práce bylo vytvořit zpětný překladač jazyka Java. Problematika zpětného překladu je obecně dosti obtížná, diplomant se však s úskalími tématu vyrovnal velmi dobrým způsobem. Kromě solidních teoretických znalostí a schopností teoretické poznatky prakticky aplikovat vyžadovalo téma rovněž vynikající programátorské schopnosti a v neposlední řadě i zkušenosti. Autor prokázal, že všemi těmito vlastnostmi oplývá. Zadání považuji za zcela splněné, vzniklý produkt je funkční a je zpracován na zcela profesionální úrovni.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Splnění požadavků a cílů zadání A
Postup a rozsah řešení, adekvátnost použitých metod A
Vlastní přínos a originalita A
Schopnost interpretovat dosažené vysledky a vyvozovat z nich závěry A
Využitelnost výsledků v praxi nebo teorii A
Logické uspořádání práce a formální náležitosti A
Grafická, stylistická úprava a pravopis B
Práce s literaturou včetně citací A
Samostatnost studenta při zpracování tématu A
Navrhovaná známka
A

Posudek oponenta

Heriban, Pavel

Předložená práce se věnuje problematice zpětného překladu, konkrétně zpětnému překladu programovacího jazyka Java. Úvodní části obsahují popis jazyka Java a postup jeho překladu. Následuje popis struktury souboru class a instrukční sady (bytecode) virtuálního stroje Java, včetně příkladu vykonávání bytecode virtuálním strojem. Nejrozsáhlejší kapitola se věnuje zpětnému překladu. Jsou zde podrobně popsány algoritmy používané ve vytvářené aplikaci. Hlavní pozornost byla věnována zpětnému překladu řídících struktur. V práci je uvedeno, že implementace zpětného překladu některých řídících struktur (např. switch) zatím nebyla dokončena. Při pokusu o zpětný překlad přiloženého souboru SimpleCode.class je vygenerován zdrojový kód, který není možné přeložit. Dvakrát je použit špatný typ proměnné v příkazu return (v metodách not a not1) a dvakrát je použit odkaz na neexistující jmenovku scope2 v příkazu break (v metodě nestedSet). Je zřejmé, že vývoj aplikace stále probíhá. Je tedy možné, že v době obhajoby už budou tyto (příp. i další) nedostatky odstraněny. Formální stránka práce je dobrá. Často se vyskytuje přetečení textu přes pravý okraj sloupce. Není možné si nevšimnout autorovy jazykové (česko-anglické) rozdvojenosti. Např. „desckriptor“ (obsahuje ck), „methody“ (obsahující th) a nejednotné použití „scope“ a „skope“ (někde s c, jinde s k).

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Splnění požadavků a cílů zadání B
Postup a rozsah řešení, adekvátnost použitých metod A
Vlastní přínos a originalita A
Schopnost interpretovat dosaž. vysledky a vyvozovat z nich závěry A
Využitelnost výsledků v praxi nebo teorii A
Logické uspořádání práce a formální náležitosti B
Grafická, stylistická úprava a pravopis B
Práce s literaturou včetně citací A
Navrhovaná známka
A

Otázky

eVSKP id 84062