Přístupnostní navigace
E-přihláška
Vyhledávání Vyhledat Zavřít
bakalářská práce
Autor práce: Bc. Daniel Záležák
Ak. rok: 2024/2025
Vedoucí: Ing. Aleš Smrčka, Ph.D.
Oponent: Dr. Ing. Petr Peringer
Táto práca rieši problematiku testovania softvéru. V istých prípadoch nie je možné zhotoviť vhodné prostredie na otestovanie daného softvéru. Cieľom tejto práce je vytvoriť testovacieho dvojníka, ktorý dokáže nasimulovať vhodné prostredie. Hlavným zameraním tohto testovacieho dvojníka je práca so špeciálnymi a bežnými súbormi. Zvolený problém je riešený vytvorením vlastnej zdieľanej knižnice a mechanizmu LD_PRELOAD, ktorý umožňuje nahradiť volania knižnice GNU C na systémoch GNU/Linux. Testovací dvojník je navrhnutý na testovanie diagnostického softvéru sos od Red Hat. Je sa však využiteľný aj na testovanie iných aplikácií.
Testovací dvojník, LD_PRELOAD, zdieľaná knižnica, testovanie softvéru, špeciálne súbory
Termín obhajoby
18.06.2025
Výsledek obhajoby
obhájeno (práce byla úspěšně obhájena)
Klasifikace
D
Průběh obhajoby
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.
Otázky k obhajobě
Jazyk práce
slovenština
Fakulta
Fakulta informačních technologií
Ústav
Ústav inteligentních systémů
Studijní program
Informační technologie (BIT)
Složení komise
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)
Posudek vedoucíhoIng. 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.
Známka navržená vedoucím: C
Posudek oponentaDr. 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.
Stupeň hodnocení: 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.
Stupeň hodnocení: zadání splněno
Stupeň hodnocení: 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.
Známka navržená oponentem: D
Odpovědnost: Mgr. et Mgr. Hana Odstrčilová