Pokročilá statická analýza atomičnosti v paralelních programech v prostředí Facebook Infer

but.committeeprof. Ing. Tomáš Vojnar, Ph.D. (předseda) doc. Mgr. Adam Rogalewicz, Ph.D. (místopředseda) doc. RNDr. Milan Češka, Ph.D. (člen) doc. Ing. Vladimír Drábek, CSc. (člen) Dr. Ing. Petr Peringer (člen) Ing. Aleš Smrčka, Ph.D. (člen)cs
but.defenceStudent 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 A. Otázky u obhajoby: Plánujete podniknout další kroky pro zařazení Atomeru do hlavní větve frameworku Facebook Infer? Jakým způsobem funguje rozpoznávání atomické sekce? Dotaz na Read-Write zámky. Jakou nepřesnost do analýzy vnáší použitá aproximace?cs
but.jazykangličtina (English)
but.programInformační technologie a umělá inteligencecs
but.resultpráce byla úspěšně obhájenacs
dc.contributor.advisorVojnar, Tomášen
dc.contributor.authorHarmim, Dominiken
dc.contributor.refereeRogalewicz, Adamen
dc.date.created2021cs
dc.description.abstractNástroj Atomer je statický analyzátor založený na myšlence, že pokud jsou některé sekvence funkcí vícevláknového programu prováděny v některých bězích pod zámky, je pravděpodobně zamýšleno, že mají být vždy provedeny atomicky. Analyzátor Atomer se tudíž snaží takové sekvence hledat a poté zjišťovat, pro které z nich může být v některých jiných bězích programu porušena atomicita. Autor této diplomové práce ve své bakalářské práci navrhl a implementoval první verzi nástroje Atomer jako zásuvný modul aplikačního rámce Facebook Infer. V této diplomové práci je navržena nová a výrazně vylepšená verze analyzátoru Atomer. Cílem vylepšení je zvýšení jak škálovatelnosti, tak přesnosti. Kromě toho byla přidána podpora pro několik původně nepodporovaných programovacích vlastností (včetně např. možnosti analyzovat programy napsané v jazycích C++ a Java nebo podpory pro reentrantní zámky nebo stráže zámků, tzv. "lock guards"). Prostřednictvím řady experimentů (včetně experimentů s reálnými programy a reálnými chybami) se ukázalo, že nová verze nástroje Atomer je skutečně mnohem obecnější, přesnější a lépe škáluje.en
dc.description.abstractAtomer is a static analyser based on the idea that if some sequences of functions of a multi-threaded program are executed under locks in some runs, likely, they are always intended to execute atomically. Atomer thus strives to look for such sequences and then detects for which of them the atomicity may be broken in some other program runs. The author of this master's thesis proposed and implemented the first version of Atomer as a plugin of the Facebook Infer framework in his bachelor's thesis. In the master's thesis, a new and significantly improved version of Atomer is proposed. The improvements aim at both increasing scalability as well as precision. Moreover, support for several initially not supported programming features has been added (including, e.g., the possibility of analysing C++ and Java programs or support for re-entrant locks or lock guards). Through a number of experiments (including experiments with real-life code and real-life bugs), it is shown that the new version of Atomer is indeed much more general, scalable, and precise.cs
dc.description.markAcs
dc.identifier.citationHARMIM, D. Pokročilá statická analýza atomičnosti v paralelních programech v prostředí Facebook Infer [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2021.cs
dc.identifier.other136837cs
dc.identifier.urihttp://hdl.handle.net/11012/200216
dc.language.isoencs
dc.publisherVysoké učení technické v Brně. Fakulta informačních technologiícs
dc.rightsStandardní licenční smlouva - přístup k plnému textu bez omezenícs
dc.subjectFacebook Inferen
dc.subjectstatická analýzaen
dc.subjectabstraktní interpretaceen
dc.subjectkontrakty pro paralelismusen
dc.subjectporušení atomicityen
dc.subjectparalelní programyen
dc.subjectanalýza programůen
dc.subjectatomicitaen
dc.subjectinkrementální analýzaen
dc.subjectmodulární analýzaen
dc.subjectkompoziční analýzaen
dc.subjectinterprocedurální analýzaen
dc.subjectškálovatelnosten
dc.subjectAtomeren
dc.subjectsekvence volání funkcíen
dc.subjectvícevláknové programyen
dc.subjectFacebook Infercs
dc.subjectstatic analysiscs
dc.subjectabstract interpretationcs
dc.subjectcontracts for concurrencycs
dc.subjectatomicity violationcs
dc.subjectconcurrent programscs
dc.subjectprograms analysiscs
dc.subjectatomicitycs
dc.subjectincremental analysiscs
dc.subjectmodular analysiscs
dc.subjectcompositional analysiscs
dc.subjectinterprocedural analysiscs
dc.subjectscalabilitycs
dc.subjectAtomercs
dc.subjectfunction calls sequencecs
dc.subjectmulti-threaded programscs
dc.titlePokročilá statická analýza atomičnosti v paralelních programech v prostředí Facebook Inferen
dc.title.alternativeAdvanced Static Analysis of Atomicity in Concurrent Programs through Facebook Infercs
dc.typeTextcs
dc.type.drivermasterThesisen
dc.type.evskpdiplomová prácecs
dcterms.dateAccepted2021-06-24cs
dcterms.modified2022-08-24-18:51:22cs
eprints.affiliatedInstitution.facultyFakulta informačních technologiícs
sync.item.dbid136837en
sync.item.dbtypeZPen
sync.item.insts2025.03.26 15:34:13en
sync.item.modts2025.01.15 19:42:48en
thesis.disciplineVerifikace a testování softwarecs
thesis.grantorVysoké učení technické v Brně. Fakulta informačních technologií. Ústav inteligentních systémůcs
thesis.levelInženýrskýcs
thesis.nameIng.cs
Files
Original bundle
Now showing 1 - 4 of 4
Loading...
Thumbnail Image
Name:
final-thesis.pdf
Size:
1.84 MB
Format:
Adobe Portable Document Format
Description:
final-thesis.pdf
Loading...
Thumbnail Image
Name:
Posudek-Vedouci prace-24185_v.pdf
Size:
87.62 KB
Format:
Adobe Portable Document Format
Description:
Posudek-Vedouci prace-24185_v.pdf
Loading...
Thumbnail Image
Name:
Posudek-Oponent prace-24185_o.pdf
Size:
88.9 KB
Format:
Adobe Portable Document Format
Description:
Posudek-Oponent prace-24185_o.pdf
Loading...
Thumbnail Image
Name:
review_136837.html
Size:
1.51 KB
Format:
Hypertext Markup Language
Description:
file review_136837.html
Collections