Pokročilá statická analýza atomičnosti v paralelních programech v prostředí Facebook Infer
but.committee | prof. 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.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. 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.jazyk | angličtina (English) | |
but.program | Informační technologie a umělá inteligence | cs |
but.result | práce byla úspěšně obhájena | cs |
dc.contributor.advisor | Vojnar, Tomáš | en |
dc.contributor.author | Harmim, Dominik | en |
dc.contributor.referee | Rogalewicz, Adam | en |
dc.date.created | 2021 | cs |
dc.description.abstract | Ná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.abstract | Atomer 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.mark | A | cs |
dc.identifier.citation | HARMIM, 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.other | 136837 | cs |
dc.identifier.uri | http://hdl.handle.net/11012/200216 | |
dc.language.iso | en | cs |
dc.publisher | Vysoké učení technické v Brně. Fakulta informačních technologií | cs |
dc.rights | Standardní licenční smlouva - přístup k plnému textu bez omezení | cs |
dc.subject | Facebook Infer | en |
dc.subject | statická analýza | en |
dc.subject | abstraktní interpretace | en |
dc.subject | kontrakty pro paralelismus | en |
dc.subject | porušení atomicity | en |
dc.subject | paralelní programy | en |
dc.subject | analýza programů | en |
dc.subject | atomicita | en |
dc.subject | inkrementální analýza | en |
dc.subject | modulární analýza | en |
dc.subject | kompoziční analýza | en |
dc.subject | interprocedurální analýza | en |
dc.subject | škálovatelnost | en |
dc.subject | Atomer | en |
dc.subject | sekvence volání funkcí | en |
dc.subject | vícevláknové programy | en |
dc.subject | Facebook Infer | cs |
dc.subject | static analysis | cs |
dc.subject | abstract interpretation | cs |
dc.subject | contracts for concurrency | cs |
dc.subject | atomicity violation | cs |
dc.subject | concurrent programs | cs |
dc.subject | programs analysis | cs |
dc.subject | atomicity | cs |
dc.subject | incremental analysis | cs |
dc.subject | modular analysis | cs |
dc.subject | compositional analysis | cs |
dc.subject | interprocedural analysis | cs |
dc.subject | scalability | cs |
dc.subject | Atomer | cs |
dc.subject | function calls sequence | cs |
dc.subject | multi-threaded programs | cs |
dc.title | Pokročilá statická analýza atomičnosti v paralelních programech v prostředí Facebook Infer | en |
dc.title.alternative | Advanced Static Analysis of Atomicity in Concurrent Programs through Facebook Infer | cs |
dc.type | Text | cs |
dc.type.driver | masterThesis | en |
dc.type.evskp | diplomová práce | cs |
dcterms.dateAccepted | 2021-06-24 | cs |
dcterms.modified | 2022-08-24-18:51:22 | cs |
eprints.affiliatedInstitution.faculty | Fakulta informačních technologií | cs |
sync.item.dbid | 136837 | en |
sync.item.dbtype | ZP | en |
sync.item.insts | 2025.03.26 15:34:13 | en |
sync.item.modts | 2025.01.15 19:42:48 | en |
thesis.discipline | Verifikace a testování software | cs |
thesis.grantor | Vysoké učení technické v Brně. Fakulta informačních technologií. Ústav inteligentních systémů | cs |
thesis.level | Inženýrský | cs |
thesis.name | Ing. | cs |
Files
Original bundle
1 - 4 of 4
Loading...
- Name:
- final-thesis.pdf
- Size:
- 1.84 MB
- Format:
- Adobe Portable Document Format
- Description:
- final-thesis.pdf
Loading...
- Name:
- Posudek-Vedouci prace-24185_v.pdf
- Size:
- 87.62 KB
- Format:
- Adobe Portable Document Format
- Description:
- Posudek-Vedouci prace-24185_v.pdf
Loading...
- Name:
- Posudek-Oponent prace-24185_o.pdf
- Size:
- 88.9 KB
- Format:
- Adobe Portable Document Format
- Description:
- Posudek-Oponent prace-24185_o.pdf
Loading...
- Name:
- review_136837.html
- Size:
- 1.51 KB
- Format:
- Hypertext Markup Language
- Description:
- file review_136837.html