Master's Thesis

Web manager for Unite

Final Thesis 1.35 MB

Author of thesis: Ing. Michal Zavadil

Acad. year: 2024/2025

Supervisor: Ing. Jan Fiedor, Ph.D.

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

Abstract:

Static and dynamic software analysis tools are well-established ways to ensure higher software quality. Static tools spot errors in the source code itself, while dynamic tools execute the program and detect issues that static methods identify with difficulty. Unite is an adapter that transforms the standard command-line interface of analysis tools into an OSLC-compliant API. The OSLC standard ensures an easy interface integration into an existing software lifecycle management toolset.
This thesis aims to create a web tool that is able to manage multiple Unite instances, thereby running multiple analyses in parallel. The manager has a backend server that monitors the instances and balances the load, ensuring the fastest analysis completion and balanced utilization of resources. Additionally, the manager provides a web user interface that serves to create requests conveniently and supports common use cases by minimizing user interaction and by prefilling known parameters. The common actions include SUT re-registration and analysis rerun.

Keywords:

software analysis, software verification, static analysis, dynamic analysis, OSLC, OSLC Automation, Unite, web application, Svelte, Express.js, load balancing, UI/UX

Date of defence

23.06.2025

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

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

Language of thesis

English

Faculty

Department

Study programme

Information Technology and Artificial Intelligence (MITAI)

Specialization

Information Systems and Databases (NISD)

Composition of Committee

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)

Supervisor’s report
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.

Evaluation criteria Verbal classification
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.

Points proposed by supervisor: 92

Grade proposed by supervisor: A

Reviewer’s report
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.

Evaluation criteria Verbal classification Points
Rozsah splnění požadavků zadání

Evaluation level: 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

Evaluation level: 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í

Evaluation level: 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.

Points proposed by reviewer: 95

Grade proposed by reviewer: A

Responsibility: Mgr. et Mgr. Hana Odstrčilová