Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. Daniel Záležák
Acad. year: 2024/2025
Supervisor: Ing. Aleš Smrčka, Ph.D.
Reviewer: Dr. Ing. Petr Peringer
This work addresses the issue of software testing. In some cases, it is not possible to create a~suitable environment for testing the given software. The goal of this work is to create a test double that can simulate an appropriate environment. The main focus of this test double is working with special and common files. The chosen problem is solved by creating a custom shared library and the LD_PRELOAD mechanism, which allows overriding GNU~C library calls on GNU/Linux systems. The test double is designed for testing the diagnostic software sos from Red Hat, but it can also be used for testing other applications.
Test double, LD_PRELOAD, shared library, software testing, special files
Date of defence
18.06.2025
Result of the defence
Defended (thesis was successfully defended)
Grading
D
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 D.
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. František Zbořil, CSc. (předseda) Ing. Aleš Smrčka, Ph.D. (člen) Ing. Jan Pluskal, Ph.D. (člen) doc. Ing. Michal Španěl, Ph.D. (člen) Ing. Josef Strnadel, Ph.D. (člen)
Supervisor’s reportIng. Aleš Smrčka, Ph.D.
Daniel Záležák splnil všechna očekávání, řešil a konzultoval průběžně a dosáhl použitelného výsledku.
Zadání bakalářské práce vzniklo na základě požadavků firmy Red Hat Czech za účelem zjednodušení testování diagnostického softwaru sos. Cíl se podařilo splnit, přičemž nástroj implementovaný v rámci bakalářské práce je použitelný nad rámec požadavků firmy Red Hat.
Studentovi byla doporučena literatura a dokumentace k použité technologii. Další literární prameny si vybral sám.
Student konzultoval průběžně, dodržoval dohodnuté termíny a úkoly a řídil se dle daných rad. V průběhu řešení nebylo potřeba zasahovat.
Programová část byla dokončena v dostatečném předstihu, technická zpráva by si však zasloužila více času. Měl jsem však možnost ovlivnit její finální podobu a student zapracoval mé hlavní připomínky.
Grade proposed by supervisor: C
Reviewer’s reportDr. Ing. Petr Peringer
Student vytvořil malou sdílenou knihovnu pro zachycení některých systémových volání v knihovně glibc a několik základních testovacích příkladů. Výsledek je funkční, ale obsahuje řadu programátorských chyb. Zpracování textu práce je také podprůměrné. Proto navrhuji celkové hodnocení stupněm D.
Evaluation level: průměrně obtížné zadání
Struktura a rozsah textu jsou vyhovující. Seznamy obrázků a tabulek na str. 2 a 3 jsou zbytečné. V obr 2.6 na str. 14 chybí vrstva knihoven. Vysvětlení některých pojmů je nepřesné (např. str. 15 nahoře: má být SW přerušení) nebo zcela chybné (str. 18 - pevné odkazy nevytváří kopii původního souboru). Na obr 3.3 (a dalších) je chybně přehozen popis u vstupních a výstupních hran bloku PLT. Zvolená "testovací" metoda pro analýzu v kapitole 4.1. není nejlepší -- statická analýza zdrojových textů nebo analýza obsahu PLT tabulek by byla úplnější. Použití 2 proměnných prostředí nepovažuji za vhodné.
Typografie je na dobré úrovni s několika výhradami: autor systematicky používá zcela nevhodné tučné zvýrazňování textu, některé obrázky jsou příliš velké (viz str. 11 a 14). V textu jsou také nevhodné jednořádkové odstavce (např. str 14 dole). Tabulka 4.1 na str. 30 nedává smysl. Jazykovou stránku slovenského textu nehodnotím.
Zdrojové kódy mají přes 700 řádků, což není mnoho. Kód knihovny je dobře komentovaný ale nemá odpovídající kvalitu -- autor používá strdup() ale neuvolňuje takto dynamicky alokovanou paměť (chyba typu memory leak při každém volání funkce). Navíc je stejný kód pro zpracování proměnných prostředí zcela zbytečně duplikován v každé funkci.
Výsledek této práce by se po opravě chyb a doplnění dalších potřebných funkcí mohl uplatnit v praxi.
Evaluation level: zadání splněno
Evaluation level: je v obvyklém rozmezí
Text práce má cca 40 vysazených stran, což je vyhovující.
V textu jsou zcela nesmyslně umístěné citace (za odstavcem), navíc autor cituje stejnou literaturu zbytečně často (viz např. str 7). V seznamu literatury je několik zbytečných položek: [27] a [28] je stejná kniha, minimálně 4 položky ohledně typů souborů v UNIXu je možné zredukovat na jednu, atd.
Grade proposed by reviewer: D
Responsibility: Mgr. et Mgr. Hana Odstrčilová