LETAŠI, S. Analýza metrik programů v jazyce P4 [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2025.
Student práci věnoval velké množství času a zvládl zadanou úlohu dotáhnout do velice zdařilého konce. V bakalářské práci vytvořená implementace zaujala oficiální komunitou open-source překladače jazyka P4. S výsledkem práce byl spokojen také odborný konzultant ze společnosti Altera. Celkově tedy navrhuji hodnocení stupněm A.
| Kritérium | Známka | Body | Slovní hodnocení |
|---|---|---|---|
| Informace k zadání | Cílem práce bylo rozšířit oficiální referenční open-source překladač aplikačně specifického jazyka P4 o výpočet a sběr vybraných metrik ze zdrojových kódů vstupního programu. Implementované metriky měli zahrnovat nejen vhodně vybrané z obecně používaných, ale také nové metriky specificky navržené studentem pro jazyk P4. Kromě nastudování jazyka P4 spočívala složitost práce také v nutnosti zorientovat se v rozsáhlé existující implementaci překladače a potřebě identifikovat vhodný systémový způsob doplnění požadované nové funkcionality. Jedná se o firemní zadání ve spolupráci s odborným konzultantem ze společnosti Altera (původně Intel). Student toto zadání splnil v plném rozsahu, přičemž se mu povedlo vytvořit kvalitní a prakticky použitelnou implementaci. | ||
| Práce s literaturou | Student čerpal z velkého množství literatury jak doporučené, tak z literatury získané vlastní aktivitou. Hlavně chci ocenit jeho iniciativu a samostatnost při hledání relevantních zdrojů o problematice metrik kódu. | ||
| Aktivita během řešení, konzultace, komunikace | Student byl iniciativní v průběhu celého řešení. Na konzultace s pedagogickým vedoucím i odborným konzultantem byl vždy dobře připraven a dané problematice rozuměl. | ||
| Aktivita při dokončování | Práce byla dokončena v dostatečném předstihu. Finální obsah a výsledky celé práce stihly být před odevzdáním několikrát konzultovány. Před závěrečným termínem se vylepšovali již jenom drobnosti v textové části. Zbyl také čas na významné rozšiřování míry testování a přípravu implementace na začlenění do open-source repozitáře. | ||
| Publikační činnost, ocenění | Student svojí prací rozšířil otevřený projekt P4C, který zastřešuje Open Networking Foundation. Část v práci vytvořené implementace byla již před odevzdáním úspěšně začleněna přímo do hlavní větve oficiálního open-source repozitáře referenčního P4 překladače. Link: https://github.com/p4lang/p4c/pull/5283 Pro hlavní část implementace byl také otevřen požadavek na začlenění (Pull Request), který je nyní aktivně zvažován komunitou. V momentě psaní tohoto posudku přešel PR kontrolou od několika vývojářů z P4 komunity a po drobných změnách v kódu je doporučen/potvrzen pro začlenění. Link: https://github.com/p4lang/p4c/pull/5250 |
Jedná se o velmi zdařilou bakalářskou práci. Student zde prokázal rozsáhlé znalosti a zkušenosti v oblasti návrhu a implementace software. Vytvořené výstupy jsou na velmi vysoké úrovni a použitelné v praxi . S ohledem na tyto skutečnosti a obtížnější zadání navrhuji hodnocení stupněm velmi dobře (B) .
| Kritérium | Známka | Body | Slovní hodnocení |
|---|---|---|---|
| Náročnost zadání | Student měl za úkol navrhnout vhodné metriky pro hodnocení kódu v jazyce P4. Tyto metriky bylo následně nutné implementovat přímo do existujícího kompilátoru , který je poměrně komplexní. Z těchto důvodů považuji zadání jako obtížnější. | ||
| Rozsah splnění požadavků zadání | Zadání bylo splněno ve všech bodech. | ||
| Rozsah technické zprávy | Rozsah technické zprávy je v obvyklém rozmezí . Teoretická i praktická část technické zprávy jsou vyvážené a informačně bohaté. | ||
| Prezentační úroveň technické zprávy | 90 | Struktura technické zprávy je v pořádku a jednotivé části na sebe logicky navazují. Samotný text jednotlivých kapitol je pro čtenáře dobře čitelný a pochopitelný . | |
| Formální úprava technické zprávy | 90 | Po typografické stránce je text na velmi dobré úrovni . Podobně, po jazykové stránce není co vytknout. | |
| Práce s literaturou | 95 | Práce s literaturou je na velmi vysoké úrovni . Autor vybírá z kvalitních publikací zaměřených na metriky pro hodnocení kódu a z oblasti jazyka P4. Všechny převzaté prvky jsou v textu řádně odlišeny a odděleny od vlastního přínosu. | |
| Realizační výstup | 85 | Výstupem práce jsou kódy v jazyce C++, které do kompilátoru jazyka P4 přidávájí novou funkcionalitu ve formě metrik pro hodnocení kódu. Tyto kódy jsou plně funkční a vhodně strukturovány/komentovány. | |
| Využitelnost výsledků | Jedná se o práci kompilačního charakteru. Tím, že je vytvořená funkcionalita implementována přímo do kompilátoru P4, je zde potenciál pro jejich snadné využití ze strany programátorů kódů v jazyce P4 . |
eVSKP id 161792