Témy na záverečné práce

Po dohode sú možné aj iné témy z oblastí, na ktoré sa zameriavam. V prípade kvalitne vypracovaných prác je možná následná publikácia vedeckého článku, napríklad na konferencii ITAT (Information technologies -- Applications and Theory).

Automatická deduplikácia JSON dátových tokov v reálnom čase (BP, obsadené)

Deduplikácia je proces identifikácie a odstránenia duplicitných záznamov z dát. Je dôležitou súčasťou čistenia dát pre analytické použitie, ale má aj mnoho ďalších prípadov použitia. Duplikáty vznikajú napr. opakovaným odoslaním správ po zlyhaní komunikácie alebo použitím mechanizmov doručovania správ typu at-least-once. Moderné analytické systémy často vyžadujú spracovanie dát, vrátane deduplikácie, v reálnom čase.

Cieľom práce je navrhnúť deklaratívny spôsob špecifikácie deduplikačných pravidiel pre JSON dáta založený na množine JSONPath výrazov, ktoré adresujú atribúty tvoriace identitu záznamu. Na základe tejto špecifikácie bude navrhnutý, implementovaný a experimentálne vyhodnotený algoritmus na automatickú deduplikáciu JSON dátových tokov v reálnom čase.

Viac implementačná téma. Implementácia je preferovaná v Jave, nakoľko sa bude používať existujúci algoritmus pre vyhodnocovanie JSONPath výrazov, ktorý existuje v Jave.

Optimalizované streamové vyhodnocovanie množiny JSONPath výrazov pomocou zdieľaného automatu (BP / DP)

JSONPath výrazy sa často používajú na adresáciu častí JSON dokumentov pri filtrovaní, transformácii alebo extrakcii dát. Existujúci algoritmus pre streamové vyhodnocovanie spracováva jeden JSONPath výraz naraz. Pri súčasnom vyhodnocovaní väčšieho množstva výrazov je neefektívne spracovávať každý výraz samostatným automatom, keďže výrazy často obsahujú spoločné prefixy a opakovane prechádzajú rovnakými časťami JSON dokumentu.

Cieľom práce je navrhnúť algoritmus na transformáciu množiny zjednodušených JSONPath výrazov (bez predikátov a descendant osi) na zdieľaný automat, ktorý umožní spoločné vyhodnocovanie viacerých výrazov počas jediného prechodu JSON dokumentom. Navrhnuté riešenie bude využívať zdieľanie spoločných prefixov výrazov s cieľom znížiť počet stavov automatu a eliminovať redundantné spracovanie spoločných častí JSON stromu. Súčasťou práce bude implementácia navrhnutého riešenia a jeho experimentálne porovnanie s prístupom založeným na nezávislom vyhodnocovaní jednotlivých automatov z hľadiska časovej a pamäťovej náročnosti.

Teoretickejšia téma, implementácia slúži skôr na overenie teoretických výsledkov.

Spracovanie viacerých JSON transformácií v jednom prechode (BP / DP)

Nadstavba nad existujúcim streamovým transformátorom JSON dát (je implementovaný v Jave). Existujúce riešenie umožňuje spracovanie jednej základnej transformácie z nasledovnej množiny: identity, add, rename, replace, remove, copy, move. Cieľom práce je navrhnúť a implementovať riešenie pre spracovanie viacerých transformácií naraz, pri jednom sekvenčnom prechode nad vstupnými dátami. Práca vyžaduje analýzu závislostí medzi jednotlivými spracovávanými transformáciami a návrh validnej špecifikácie množiny spracovávaných transformácií (napr. ak prvá transformácia odstráni nejaký fragment vstupných dát, druhá transformácia by sa už nemala na tieto dáta odkazovať).

Streamové spracovanie JSON transformácií s pomocou schémy (BP / DP)

Pomerne nezávislá nadstavba nad existujúcim streamovým transformátorom JSON dát (je implementovaný v Jave). Existujúce riešenie umožňuje spracovanie jednej základnej transformácie z nasledovnej množiny: identity, add, rename, replace, remove, copy, move a neberie do úvahy schému.

Cieľom práce je zvoliť vhodnú abstrakciu pre JSON schému a JSON dáta a na ich základe navrhnúť metódu statickej analýzy streamových JSON transformácií. Metóda analyzuje špecifikáciu transformácie a vstupnú schému a výstupom sú presnejšie odhady priestorovej zložitosti a potenciálne aj latencie. Navrhnutá metóda bude implementovaná a experimentálne vyhodnotená na uvedených základných transformáciach, najväčší prínos sa očakáva pri copy a move, ktoré ako jediné ukladajú dočasné dáta do pomocnej pamäte.

Hodnotenie kvality softvérových požiadaviek pomocou otvorených veľkých jazykových modelov (BP)

Manuálna kontrola kvality sw požiadaviek je časovo náročná. LLM ukazujú potenciál pri spracovaní prirodzeného jazyka, a otvorené lokálne modely sú zaujímavou alternatívou ku komerčným riešeniam z hľadiska súkromia a nákladov.

Cieľom práce je preskúmať možnosti využitia lokálne prevádzkovaných otvorených veľkých jazykových modelov (LLM) na automatizované hodnotenie kvality softvérových požiadaviek podľa normy ISO/IEC 29148 a analyzovať vplyv rôznych stratégií promptovania na dosiahnuté výsledky.

Ciele:

Pozn.: Téma môže na prvý pohľad pôsobiť jednoducho, experimentálna a metodologická časť je však pomerne náročná, najmä z hľadiska tvorby referenčného datasetu a jeho manuálneho hodnotenia.