Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Samuel Štefánik
Acad. year: 2025/2026
Supervisor: Ing. Michal Rozsíval
Reviewer: Ing. Aleš Smrčka, Ph.D.
This thesis focuses on the design of a specification language for describing fault models in network communication and the implementation of a tool for automated code generation. Based on the provided fault model, the Eliot tool automatically generates a corresponding implementation in C++, intended for influencing network traffic. The generated program allows the execution of testing scenarios without the need for manual implementation of fault models. The thesis presents the design of the specification language, the implementation of the code generator, and the integration of the generated code with the NetLoiter tool. The generated code employs several optimizations, with the optimized version achieving a speedup of up to 2.68x compared to the non-optimized implementation. The functionality of the proposed solution was verified using automated tests and performance experiments.
Eliot, fault model, SWIFI, network communication, specification language, automated code generation, testing, NetLoiter
Date of defence
16.06.2026
Result of the defence
Defended (thesis was successfully defended)
Grading
B
Process of defence
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 B
Topics for thesis defence
Language of thesis
Slovak
Faculty
Fakulta informačních technologií
Department
Department of Intelligent Systems
Study programme
Information Technology (BIT)
Composition of Committee
doc. Ing. Jan Kořenek, Ph.D. (předseda) doc. Ing. Ondřej Lengál, Ph.D. (místopředseda) Ing. Bohuslav Křena, Ph.D. (člen) Ing. Šárka Květoňová, Ph.D. (člen) Ing. David Bařina, Ph.D. (člen)
Supervisor’s reportIng. Michal Rozsíval
S prací pana Štefánika jsem nadmíru spokojený. K řešení přistupoval zodpovědně, pravidelně se účastnil konzultací a byl aktivní po celou dobu zpracování práce. Přicházel s vlastními nápady a nad rámec zadání přidal několik rozšíření a optimalizací.
Cílem práce bylo navrhnout a implementovat nástroj, který na základě vstupní specifikace modelu chyb vygeneruje kód v jazyce C++ a následně z něj vytvoří samostatný spustitelný program. Zadání bylo splněno.Student se mimo jiné musel seznámit s existujícím nástrojem pro ovlivňování síťové komunikace vyvíjeným na FIT VUT, navrhnout vhodný vysokoúrovňový specifikační jazyk pro popis modelů chyb a implementovat převod ze specifikačního jazyka do jazyka C++ a následnou syntézu spustitelného programu s využitím uvedeného nástroje.Vytvořené řešení bude využito pro rozšíření zmíněného nástroje pro ovlivňování síťové komunikace.
Student si studijní prameny vybíral samostatně.
Student byl aktivní po celou dobu zpracování práce. Pravidelných konzultací se účastnil připravený a přicházel s vlastními nápady a rozšířeními.
Práce byla dokončena v předstihu, měl jsem tak možnost se k ní několikrát vyjádřit.
Student dosažené výsledky prezentoval na studentské konferenci Excel@FIT 2026.
Grade proposed by supervisor: A
Reviewer’s reportIng. Aleš Smrčka, Ph.D.
Práci hodnotím jako velmi dobrou. Student splnil zadání, předvedl funkční řešení a odevzdal kvalitně zpracovaný technický i programový výstup. K výsledku mám jen dílčí výhrady k plné samostatné reprodukovatelnosti a k některým formálním detailům technické zprávy.
Evaluation level: průměrně obtížné zadání
Zadání tématicky navazuje na předchozí aplikační výsledky vedoucího projektu a kombinuje návrh specifikačního jazyka, transformaci do C++, generování kódu a testování v síťovém prostředí. Jde o technicky mírně náročnější práci s více navazujícími vrstvami.
Zpráva má logickou strukturu a je dobře čitelná. Návrh i implementace jsou vysvětleny s pomocí vhodných schémat, ukázek modelů a generovaného kódu. Místy je text popisnější, než by bylo nutné (vhodnější by byla efektivní grafická podoba), ale celkově je prezentace nadprůměrná.
Formální úprava je na dobré úrovni. V textu se objevují jen drobné jazykové a nedostatky či překlepy, které však nesnižují srozumitelnost práce jako celku.
Příloha obsahuje rozsáhlé a přehledně členěné programové řešení nového nástroje Eliot včetně dokumentace, testovací infrastruktury a podpůrných backendů. Při demonstraci na studentském počítači byla funkčnost generování i následného spuštění ukázána na konkrétním příkladu. Pozitivně hodnotím také 76 automatizovaných testovacích scénářů a ukázkové vstupy i výstupy.
Výsledek je prakticky využitelný jako generátor modelů chyb pro testování síťových aplikací. Jde o řešení, které by mělo u existujícího prototypového nástroje zvýšit použitelnost a výkonnost.
Evaluation level: zadání splněno
Zadání je splněno v plném rozsahu. Práce obsahuje návrh specifikačního jazyka, implementaci generátoru, vytvoření samostatně spustitelného programu i demonstrační případovou studii. Drobnou výhradu představuje to, že část integračního scénáře s NetLoiter není přímo obsažena v odevzdané příloze jako samostatně reprodukovatelný externí projekt, nicméně při demonstraci na studentském počítači byla funkcionalita úspěšně předvedena.
Evaluation level: je v obvyklém rozmezí
Technická zpráva má přiměřený rozsah a informačně pokrývá teoretické pozadí, návrh, implementaci i vyhodnocení. Kapitoly jsou obsahově vyvážené a odpovídají požadovanému rozsahu bakalářské práce.
Student pracuje s relevantní literaturou k síťové komunikaci, fault-injection, generování kódu i k nástroji NetLoiter. Odkazy jsou v textu používány korektně a převzaté části jsou zpravidla řádně označeny.
Grade proposed by reviewer: B
Responsibility: Mgr. et Mgr. Hana Odstrčilová