MAREK, D. Vylepšení zásuvných modulů prostředí Meta Infer pro detekci chyb v paralelních programech [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2025.
Navrhuji hodnocení známkou B s ohledem na dosažení zajímavých a potenciálně užitečných výsledků a za poctivou práci v obdobích mimo výše zmíněné krizové období.
| Kritérium | Známka | Body | Slovní hodnocení |
|---|---|---|---|
| Informace k zadání | Práce studenta částečně navázala na jeho předchozí projektovou praxi a bakalářskou práci, které byly ale zaměřeny úžeji na oblast statického ověřování korektní práce se synchronizačním mechanismem RCU. V diplomové práci dostal student možnost navázat i na jiné předchozí výsledky, které byly v oblasti analýzy a verifikace paralelních programů ve skupině VeriFIT dříve dosaženy a na nichž příslušní studenti již bohužel nepokračují. Ve spolupráci se mnou se student rozhodl zaměřit zejména na problematiku atomičnosti volání sekvencí funkcí, implementovanou dříve Dominikem Harmimem v nástroji Atomer v prostředí Meta Infer. Analýzy zaměřené do této oblasti mají mnohem širší aplikovatelnost než specializovaná kontrola práce s RCU, zvláště v případě zobecnění i na sekvence přístupů do paměti, které pak pokrývají mj. i chyby typu „data race“ (a podobně také některé případy chyb v práci s RCU). Náročnost zadání spočívala do značné míry v nutnosti navázat na cizí kód nástroje Atomer, implementující poměrně pokročilou analýzu, pochopit ho a posunout ho dále. Zapotřebí přitom byla jak algoritmická vylepšení, tak také vyrovnání se s tím, že Atomer byl implementován nad starým prostředím Meta Infer, které se mezitím výrazně změnilo, a bylo tedy nutno řady zásahů do nástroje Atomer, aby se vůbec dal spustit. Student se navíc po dohodě se mnou rozhodl také pro kombinaci statické analýzy implementované v nástroji Atomer s dynamickou analýzou implementovanou v nástroji ANaConDA, která se rovněž již delší dobu nevyvíjí a práce s ní byla také náročná. Práce na řešení výše uvedených problémů zabrala studentovi více času, než jsme původně očekávali, nicméně s výše popsanými skutečnostmi se vypořádal a schopnosti nástroje Atomer významně zdokonalil (mj. o sledování přístupů do paměti nad rámec původního sledování volání funkcí, různé možnosti filtrování výstupů, podporu detekce některých RCU-specifických problémů či kombinaci s analýzou dynamickou). Student dospěl i k zajímavým experimentálním výsledkům, zahrnujícím identifikaci možných chyb v reálných aplikacích, byť ty by si zasloužily ještě dalšího ověření (jdoucího nad rámec práce – spolehlivé ověření pravosti detekovaných chyb v paralelismu v cizím reálném kódu je opravdu velmi náročné a na komunikaci s vývojáři dotyčného kódu již nezbyl čas). | ||
| Práce s literaturou | Studentova práce s literaturou byla bezproblémová. Byl sám schopen si dohledat a využít patřičné zdroje, které také řádně cituje. | ||
| Aktivita během řešení, konzultace, komunikace | Student se věnoval řešení diplomové práce dva roky. Jeho aktivita při řešení kolísala: Po jisté době řešení nastala krize, kdy reálně hrozilo nedokončení diplomové práce. Student se ale poté znovu aktivoval. Na schůzky na začátku řešení a stejně tak po překonání krize přicházel pečlivě připravený, prezentoval dosažené pokroky a možnosti dalšího pokračování práce. | ||
| Aktivita při dokončování | Práce byla dokončena bez předstihu. Některé části textu jsem měl šanci projít, a to i opakovaně, některé části jsem již projít nestihl. | ||
| Publikační činnost, ocenění | Práce nebyla publikována, ovšem výsledky dosažené v práci, projdou-li úspěšně následnou validací, jsou slibným základem pro další výzkum i možnou publikaci. To se týká jak dosažených experimentálních výsledků, tak vytvořeného kódu či alespoň principů, na kterých tento kód stojí. |
The thesis is of high quality, written in clear and appropriate language, and successfully addresses all the goals outlined in the thesis assignment. Moreover, the resulting tools successfully analyzed real-world software and even uncovered a genuine concurrency issue.
| Kritérium | Známka | Body | Slovní hodnocení |
|---|---|---|---|
| Náročnost zadání | The topic of the thesis is challenging, as it requires the student to master advanced static analysis techniques in addition to working with dynamic analysis tools. | ||
| Rozsah splnění požadavků zadání | The student successfully addressed all the goals outlined in the thesis assignment, delivering high-quality tools capable of detecting concurrency issues in real-world software. | ||
| Rozsah technické zprávy | The thesis is of appropriate length, covering all aspects—from the state of the art through design and implementation to evaluation—with a suitable level of detail. | ||
| Prezentační úroveň technické zprávy | 90 | The thesis is well-structured into logical sections, providing a natural and coherent flow for the reader. The text is well-written and easy to follow. | |
| Formální úprava technické zprávy | 80 | The text is neatly typeset and written in clear, appropriate language. My only objection is that some figures—e.g., Figures 3.2 and 6.13—are rather blurry. In general, figures containing text could be included as listings instead. | |
| Práce s literaturou | 90 | The student provided an in-depth overview of the state of the art, thoroughly introducing all the theoretical concepts necessary to understand the remainder of the thesis. All sources are cited appropriately, in accordance with established citation practices and standards. | |
| Realizační výstup | 90 | The delivered technical solution is fully functional and has been successfully applied to real-world software, potentially even uncovering a genuine concurrency issue in the process. | |
| Využitelnost výsledků | The outcomes of this work should be directly applicable to practitioners seeking to perform verification of concurrent software in practice. |
eVSKP id 162711