diplomová práce

Webový správce pro Unite

Text práce 1.35 MB

Autor práce: Ing. Michal Zavadil

Ak. rok: 2024/2025

Vedoucí: Ing. Jan Fiedor, Ph.D.

Oponent: Ing. Ondřej Vašíček

Abstrakt:

Nástroje pro statickou a dynamickou analýzu softwaru jsou osvědčené metody pro zajištění vyšší kvality softwaru. Nástroje pro statickou analýzu odhalují chyby přímo ve zdrojovém kódu, zatímco dynamické nástroje spouštějí program a detekují tak problémy, které jsou těžko odhalitelné pro statické metody. Unite je adaptér, který převádí standardní příkazové rozhraní analytických nástrojů na API odpovídající standardu OSLC. Díky OSLC je možné jej snadno integrovat do existujících nástrojů pro správu životního cyklu softwaru.
Cílem této práce je vytvořit webový nástroj, který dokáže spravovat k více instancí Unite a spouštět tak analýzy paralelně. Backendová část správce sleduje stav jednotlivých instancí a rovnoměrně rozděluje zátěž, aby bylo dosaženo co nejrychlejšího dokončení analýz a efektivního využití dostupných prostředků. Webové uživatelské rozhraní správce umožňuje snadné zadávání požadavků, přičemž běžné scénáře jsou zjednodušeny pomocí automatického doplňování známých parametrů. Mezi typické akce patří opětovná registrace analyzovaného systému (SUT) a opakované spuštění analýzy.

Klíčová slova:

analýza softwaru, verifikace softwaru, statická analýza, dynamická analýza, OSLC, OSLC Automation, Unite, webová aplikace, Svelte, Express.js, vyvažování zátěže, UI/UX

Termín obhajoby

23.06.2025

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaAznamka

Klasifikace

A

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. Komise se na základě posudku oponenta, hodnocení vedoucího a přednesené prezentace rozhodla práci hodnotit stupněm A - výborně.

Jazyk práce

angličtina

Fakulta

Ústav

Studijní program

Informační technologie a umělá inteligence (MITAI)

Specializace

Informační systémy a databáze (NISD)

Složení komise

doc. Dr. Ing. Dušan Kolář (předseda)
RNDr. Marek Rychlý, Ph.D. (člen)
Ing. Zbyněk Křivka, Ph.D. (člen)
Ing. Šárka Květoňová, Ph.D. (člen)
Ing. Radek Hranický, Ph.D. (člen)
Ing. Jiří Hynek, Ph.D. (člen)

Posudek vedoucího
Ing. Jan Fiedor, Ph.D.

Jedná se o velmi kvalitní práci jak po stránce implementace, tak z pohledu technické zprávy. Implementovaný nástroj je plně funkční a navíc obsahuje podstatná rozšíření nad rámec zadání. Výsledky práce budou v brzké době využity jak výzkumnou skupinou VeriFIT, tak společností Honeywell.


S přihlédnutím k výborným dosaženým výsledkům navrhuji zvážit ocenění práce.

Kritérium hodnocení Slovní hodnocení
Informace k zadání

Cílem práce bylo vytvořit nástroj zjednodušující správu a spouštění analýz transformovaných pomocí nástroje Unite do podoby webových služeb vyhovujících specifikacím OSLC. Práce vychází ze staršího webového klienta pro Unite, kterého obohacuje o podporu vícero instancí nástroje Unite, umožňuje vyvažování vytížení jednotlivých instancí (load balancing), a poskytuje mnoho akcelerátorů časově náročných úloh uživatelů jako jsou opětovné exekuce analýz s novými verzemi analyzovaného software.

Práce vyžadovala studium a pochopení několika rozsáhlých OSLC specifikací využívaných pro interakci existujícího webového klienta pro Unite se samotným nástrojem Unite, včetně detailního prostudování fungování těchto nástrojů pro potřeby jejich úspěšného rozšíření. Práci proto hodnotím jako náročnější.

Aktivita při dokončování

Praktická část práce byla dokončena s dostatečným předstihem a ve zbylém čase ještě obohacena o výrazné rozšíření. Technická zpráva byla sepisována již v průběhu implementace a průběžně konzultována s vedoucím. Všechny připomínky bylo zapracovány do finální verze technické zprávy.

Publikační činnost, ocenění

Student navíc nad rámec zadání implementoval dynamické vyvažování vytížení (dynamic transfer), kdy mohou být analýzy již čekající ve frontě na jedné instanci nástroje Unite přesunuty na jinou, aktuálně nevytíženou, instanci nástroje Unite. Předpokládá se brzké nasazení nástroje ve společnosti Honeywell, kde řada nástrojů pro analýzu je již transformována nástrojem Unite.

Práce s literaturou

Student využil jak doporučenou literaturu, tak si samostatně vyhledával další relevantní a potřebné zdroje.

Aktivita během řešení, konzultace, komunikace

Student byl velmi aktivní a své řešení pravidelně konzultoval. Přicházel jak s vlastními nápady na vylepšení, tak implementoval funkcionalitu požadovanou společností Honeywell. Na implementaci začal pracovat s výrazným předstihem a výsledkem je nástroj produkční kvality.

Výsledný počet bodů navržený vedoucím: 92

Známka navržená vedoucím: A

Posudek oponenta
Ing. Ondřej Vašíček

Text práce je velmi kvalitní a obtížnější zadání bylo splněno s rozšířeními. Výstup práce poskytuje velmi užitečnou funkcionalitu a má potenciál pro praktické využití. Celkově práci hodnotím jako výbornou stupněm A.

Kritérium hodnocení Slovní hodnocení Body
Rozsah splnění požadavků zadání

Stupeň hodnocení: zadání splněno a práce obsahuje podstatná rozšíření

Zadání požadovalo pouze správce, který bude schopen komunikovat s více instancemi nástroje Unite a rozdělovat mezi ně úlohy. Za rozšíření nad rámec zadání považuji řadu nově přidaných funkcionalit pro ulehčení práce uživatele: přeregistrování SUT, znovuspuštění analýzy, násobné spuštění analýzy, agregace výsledků a automatické přesouvání SUT. 

Rozsah technické zprávy

Stupeň hodnocení: je v obvyklém rozmezí

Prezentační úroveň technické zprávy

Práce je dobře strukturovaná a pochopitelná. Nemám žádné výhrady.

95
Formální úprava technické zprávy

Práce je psána velmi dobrou a bezchybnou angličtinou. Nenarazil jsem na žádné překlepy nebo jazykové problémy. 

Z typografického hlediska také bez problémů.

95
Práce s literaturou

Citovány jsou všechny relevantní zdroje a jsou citovány vhodným způsobem. 

Bibliografie je vysázena dobře až na chybějícího autora u záznamu [1].

90
Realizační výstup

Výstup práce je funkční, poskytuje dobrou funkcionalitu a byl dostatečně otestován. Uživatelské rozhraní přehledně poskytuje všechny potřebné informace a řadu užitečných informací navíc. Manager podporuje vyrovnávání zátěže (load balancing) napříč instancemi adaptéru Unite statickým rozdělováním ale navíc i dynamickým přesouváním úloh.

Je vidět, že student věnoval řešení značné úsilí a pečlivost. 

100
Využitelnost výsledků

Implementovaný správce má velmi dobrý potenciál pro praktické využití. Aktuálně se stal nejpraktičtějším klientem pro uživatelskou interakci s nástrojem Unite. Navíc je zde potenciál i pro praktické nasazení ve firmě Honeywell.

Náročnost zadání

Stupeň hodnocení: obtížnější zadání

Považuji za spíše obtížnější zadání, jelikož je netriviální seznámit se se standardem OSLC, souvisejícími technologiemi a dostupnými nástroji.

Výsledný počet bodů navržený oponentem: 95

Známka navržená oponentem: A

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová