Přístupnostní navigace
E-přihláška
Vyhledávání Vyhledat Zavřít
bakalářská práce
Autor práce: Bc. Dominik Sajko
Ak. rok: 2024/2025
Vedoucí: Ing. Libor Polčák, Ph.D.
Oponent: Ing. Daniel Dolejška
Táto práca sa zameriava na návrh a implementáciu algoritmu, ktorý dokáže adaptívne upravovať štruktúru záložiek vo webových prehliadačoch založených na jadre prehliadača Chrome podľa meniacich sa potrieb užívateľa. Algoritmus je navrhnutý v súlade s princípmi Privacy by Design za účelom zvýšenia bezpečnosti používaných osobných údajov užívateľa. Implementácia algoritmu je realizovaná prostredníctvom rozšírenia pre Chrome, ktoré zároveň využíva lokálny jazykový model pre spracovanie potrebných dát.
Rozšírenia pre Chrome, Privacy by Design, záložky, ochrana osobných údajov, súkromie, GDPR
Termín obhajoby
20.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 informačních systémů
Studijní program
Informační technologie (BIT)
Složení komise
doc. Ing. Vítězslav Beran, Ph.D. (předseda) Ing. Radek Hranický, Ph.D. (člen) doc. Ing. Tomáš Martínek, Ph.D. (člen) Ing. Petr Veigend, Ph.D. (člen) Ing. Filip Orság, Ph.D. (člen)
Posudek vedoucíhoIng. Libor Polčák, Ph.D.
Vyjádření Gen Digital:
"Téma, které si pan Sajko vybral, považuji za oblast, která není jednoduše uchopitelná. Využití stávajících možností AI nabízí velký potenciál, ovšem problém je vždy nutné správně uchopit, včetně často nepředvídatelného výstupu, který LLM systémy nabízejí. Přístup k řešení problému a dotažení práce k funkčnímu výsledku tak beru jako viditelný úspěch. Po technické stránce to vyžadovalo skloubit práci hned z několika oblastí (Chromium ekosystém/API, problematika LLM včetně práce s lokálním modelem, vývoj rozšíření), což se panu Sajkovi i přes kumulovanou složitost podařilo dotáhnout k výsledku a jistě mu to přineslo znalosti z více oblastí."
S ohledem na mé výtky uvedené výše a velmi kladný posudek Gen Digital navrhuji práci hodnotit jako dobrou.
Práce byla řešena v rámci spolupráce s firmou Gen Digital, která studenta primárně vedla. Jak uvádím níže, ta je s výsledky práce spokojená. Já jsem si od práce představoval více, např. mohla být propracovanější oblast privacy-by-design a testování implementace.
Student využíval výhradně zdroje vlastní, případně doporučené Gen Digital. To je škoda, protože v rámci doporučených zdrojů byl dokument vytvořený Sborem pro ochranu osobních údajů, což je správní instituce spadající pod Evropskou komisi a informace obsažené v tomto dokumentu jsou nanejvýš relevantní.
Konzultace probíhaly podle plánu, primárně byl student odborně vedený Gen Digital. I tak jsem se zhruba každé 2 měsíce se studentem viděl.
Práci jsem viděl v předstihu, ale neúplnou. Mé poznámky nebyly reflektovány. To je způsobené tím, že textová část vznikala na poslední chvíli.
Známka navržená vedoucím: C
Posudek oponentaIng. Daniel Dolejška
Komplexita a hloubka předloženého řešení v této bakalářské práci dle názoru oponenta nedosahuje na úroveň, která je od bakalářské práce tohoto směru očekávána. Nicméně nějaké řešení předloženo bylo a může sloužit jako podklad pro návrh skutečného rozšíření prohlížeče poskytující požadovanou funkcionalitu v kompletním rozsahu a jako ukázka pro ostatní programátory "jak to nedělat."
Na základě výše zmíněných faktů navrhuji hodnocení stupněm E.
Stupeň hodnocení: méně obtížné zadání
Zadání a způsob jeho zpracování autorem práce je z pohledu oponenta klasifikováno spíše jako méně obtížné a to především z důvodů:
Autor rozvádí teoretický úvod do problematiky v několika úvodních kapitolách. Dle názoru oponenta by se mělo spíše jednat o podsekce jedné kapitoly a ne o individuální kapitoly samotné.
Některé sekce technické zprávy dále nejsou dle názoru oponenta korektně umístěny - podsekce sekce 5.1 na str. 19 by měly spíše být součástí kapitoly návrhu řešení, spíše než samotné implementace výsledného řešení.
Vybrané sekce by někdy mohly zacházet do větších podrobností navrženého/implementovaného chování aplikace ovšem všeobecně platí, že text technické zprávy je až na výjimky celkem čtivý a kompletní.
Autor v samotném textu technické zprávy často používá ich-formu. Práce dále obsahuje spíše jen drobné typografické chyby či překlepy:
Gramatickou stránku práce ve slovenském jazyce není oponent schopen kvalitativně posoudit.
Výsledné řešení (kód v jazyce JavaScript) nemá ani 1 200 řádků, a to včetně všech komentářů i řádků prázdných. Programové skripty neobsahují žádné dokumentační komentáře v běžně používaném formátu JSDoc - to oponent považuje za naprosté minimum v kontextu programové dokumentace pro další programátory. Implementační řešení dále také nevyužívá TypeScript pro zajištění vyšší typové bezpečnosti či snazšímu objektovému návrhu. Celé řešení je procedurálního modelu. Řešení také nedisponuje ani jednotkovými či integračními testy jakéhokoliv rázu.
Praktické užití vytvořeného nástroje na uživatelské úrovni není téměř možné. Přidávání, organizace či odstraňování nepoužívaných záložek sice funguje "na pozadí," nicméně vždy vyžaduje explicitní potvrzení jakékoliv akce od uživatele. Tím se rozšíření stává víceméně nepoužitelným, protože vyžaduje schválení přidání jakékoliv nové záložky, potvrzení odstranění jakékoliv existující záložky a i potvrzení nově navržené struktury pro dané záložky. V takové chvíli je zkrátka lepší si záložky spravovat sám.
Řešení je dále tvrdě zalimitováno na použití maximálně 7 různých kategorií a to pouze v jediné úrovni. Hlubší stromová struktura nebude programem nikdy navržena a použita. Dále v případě, že záložek je více, než 80, program nebude s největší pravděpodobností schopen korektně pracovat. To sice je autorem v práci zdokumentováno, nicméně aplikace se proti této situaci nijak aktivně nechrání a uživateli není nikde limit na počet záložek explicitně sdělen.
Implementace stěžejní části práce - analýza chování uživatele a optimalizace struktury záložek na základě nasbíraných dat je kompletně "vyřešena" dotazem do LLM dostupném přímo v prohlížeči.
Dále pak na stránce 16 autor v sekci "Automatická organizácia záložiek" v poslední větě 2. odstavce uvádí "Pridávanie záložiek do nových priečinkov prebieha postupne od najpouživanejších záložiek k tým najmenej používaným, [...]" - toto je kompletní lež, protože ve zdrojovém kódu programu se žádná takováto funkcionalita nenachází. Metoda sortBookmarks, která se ve zdrojovém kódu nachází, provádí organizaci záložek do adresářů pomocí volání LLM bez poskytnutí jakéhokoliv kontextu pro řazení či prioritizaci jednotlivých záložek. To ostatně lze vidět i v kódu 5.1 na str. 24. Proměnná bookmarkArray obsahuje pouze položky "id", "title" a "url".
Výsledek je využitelný maximálně jako "proof of concept." Skutečné využití na uživatelské úrovni nemá příliš smysl, protože implementované rozšíření prohlížeče nepřináší uživateli žádný skutečný benefit a často bude efektivnější a zkrátka lepší, když se o záložky bude uživatel starat sám. Správa záložek tímto rozšířením není ani efektivnější, ani rychlejší, není ani adaptivní a ani automatická. Nastavení chování programu pro případné uživatele je jen velmi strohé a zcela jistě nepokrývá chtěnou funkcionalitu "[...] automaticky uspořádá záložky webového prohlížece tak, aby reflektovaly měnící se zájmy a potřeby uživatele."
Výsledné řešení základní uživatelské cíle dle názoru oponenta nesplňuje.
Stupeň hodnocení: zadání téměř splněno s vážnějšími výhradami
Oponent má k míře splnění jednotlivých bodů zadání určité výhrady:
Stupeň hodnocení: splňuje pouze minimální požadavky
Na základě měření z https://app.fit.vut.cz/theses-checker má odevzdaná technická zpráva zhruba 42 normostran čímž splňuje pouze minimální požadavky na rozsah technické zprávy.
Autor v technické zprávě uvádí citace z 48 zdrojů, nicméně toto číslo je zavádějící. Citace zdroje privacypatterns.org je uvedena 3x, vždy pouze s jinou stránkou daného webu, dále dokumentace Google Chrome pro programátory je ve zdrojích uvedena 18x, opět s různými stránkami. Autor necituje žádný z vedoucím doporučených základních literárních pramenů, z 28 unikátních zdrojů je 6 odborná literatura a knižní publikace a ve zbytku se jedná o online zdroje.
Známka navržená oponentem: E
Odpovědnost: Mgr. et Mgr. Hana Odstrčilová