Static Analysis Using the Meta Infer Framework to Detect Data Races
but.committee | prof. Ing. Tomáš Vojnar, Ph.D. (předseda) doc. Ing. Petr Matoušek, Ph.D., M.A. (člen) Ing. František Grézl, Ph.D. (člen) doc. Ing. Tomáš Martínek, Ph.D. (člen) Ing. Matěj Grégr, Ph.D. (člen) | cs |
but.defence | Studentka nejprve prezentovala výsledky, kterých dosáhla v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Studentka následně odpověděla na otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studentky na položené otázky rozhodla práci hodnotit stupněm A. | cs |
but.jazyk | angličtina (English) | |
but.program | Informační technologie | cs |
but.result | práce byla úspěšně obhájena | cs |
dc.contributor.advisor | Vojnar, Tomáš | en |
dc.contributor.author | Svobodová, Lucie | en |
dc.contributor.referee | Fiedor, Jan | en |
dc.date.created | 2023 | cs |
dc.description.abstract | Vícevláknové programy jsou v moderních softwarových systémech využívány ke zlepšení výkonu a zvýšení efektivity. Zajištění spolehlivosti a bezpečnosti takových programů však může být náročné kvůli zvýšenému množství chyb, které se v nich vyskytují, včetně souběhu nad daty. V této práci představujeme nový statický detektor souběhu nad daty, DarC, navržený k analýze programů napsaných v jazyce C využívajících knihovnu Pthreads. Navrhovaný nástroj byl implementován jako zásuvný modul prostředí Meta Infer, což je nástroj pro statickou analýzu programů, který klade důraz na kompoziční, inkrementální a díky tomu i vysoce škálující analýzu programů. Nový analyzátor zaznamenává množinu přístupů ke sdíleným proměnným, ke kterým v analyzovaném programu došlo, spolu s informací o množině zámků uzamknutých při jednotlivých přístupech. Množina přístupů je dále použita k identifikaci dvojic přístupů, mezi nimiž by k souběhu nad daty mohlo dojít. Nástroj byl úspěšně ověřen na sadě testovacích vícevláknových programů, stejně tak jako na několika programech běžně využívaných v praxi, čímž byl ukázán jeho potenciál pro efektivní detekci souběhu nad daty v programech napsaných v programovacím jazyce C. | en |
dc.description.abstract | Modern software systems often use concurrent programs to improve performance and increase efficiency. However, ensuring the reliability and safety of such systems can be challenging due to the increased potential for bugs, including data races, to arise. In this thesis, we introduce a new static data race detector, DarC, designed for programs written in C using the Pthreads library. The proposed detector is implemented as an analyser plugin in Meta Infer, a static analysis framework with an emphasis on compositional, incremental, and consequently highly-scalable analysis. Our approach involves recording a set of accesses that occur in the analysed program along with information about the set of locks held during these accesses. The tool then identifies pairs of accesses that may lead to data races and reports them to the user. Our tool was successfully evaluated on a set of benchmarking programs as well as on real-life projects, showing its potential for effectively detecting data races in C programs. | cs |
dc.description.mark | A | cs |
dc.identifier.citation | SVOBODOVÁ, L. Static Analysis Using the Meta Infer Framework to Detect Data Races [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2023. | cs |
dc.identifier.other | 148636 | cs |
dc.identifier.uri | http://hdl.handle.net/11012/212768 | |
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 | statická analýza | en |
dc.subject | souběh nad daty | en |
dc.subject | Infer | en |
dc.subject | analýza programů | en |
dc.subject | abstraktní interpretace | en |
dc.subject | škálovatelnost | en |
dc.subject | vícevláknové programy | en |
dc.subject | paralelní programy | en |
dc.subject | verifikace programů | en |
dc.subject | inkrementální analýza | en |
dc.subject | static analysis | cs |
dc.subject | data race | cs |
dc.subject | Infer | cs |
dc.subject | program analysis | cs |
dc.subject | abstract interpretation | cs |
dc.subject | scalability | cs |
dc.subject | multi-threaded programs | cs |
dc.subject | concurrent programs | cs |
dc.subject | program verification | cs |
dc.subject | incremental analysis | cs |
dc.title | Static Analysis Using the Meta Infer Framework to Detect Data Races | en |
dc.title.alternative | Statická analýza v nástroji Meta Infer zaměřená na detekci souběhu nad daty | cs |
dc.type | Text | cs |
dc.type.driver | bachelorThesis | en |
dc.type.evskp | bakalářská práce | cs |
dcterms.dateAccepted | 2023-06-15 | cs |
dcterms.modified | 2023-06-15-15:53:51 | cs |
eprints.affiliatedInstitution.faculty | Fakulta informačních technologií | cs |
sync.item.dbid | 148636 | en |
sync.item.dbtype | ZP | en |
sync.item.insts | 2025.03.18 21:00:31 | en |
sync.item.modts | 2025.01.17 10:54:23 | en |
thesis.discipline | Informační technologie | cs |
thesis.grantor | Vysoké učení technické v Brně. Fakulta informačních technologií. Ústav inteligentních systémů | cs |
thesis.level | Bakalářský | cs |
thesis.name | Bc. | cs |