Static Analysis Using the Meta Infer Framework to Detect Data Races

but.committeeprof. 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.defenceStudentka 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.jazykangličtina (English)
but.programInformační technologiecs
but.resultpráce byla úspěšně obhájenacs
dc.contributor.advisorVojnar, Tomášen
dc.contributor.authorSvobodová, Lucieen
dc.contributor.refereeFiedor, Janen
dc.date.created2023cs
dc.description.abstractVí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.abstractModern 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.markAcs
dc.identifier.citationSVOBODOVÁ, 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.other148636cs
dc.identifier.urihttp://hdl.handle.net/11012/212768
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.subjectstatická analýzaen
dc.subjectsouběh nad datyen
dc.subjectInferen
dc.subjectanalýza programůen
dc.subjectabstraktní interpretaceen
dc.subjectškálovatelnosten
dc.subjectvícevláknové programyen
dc.subjectparalelní programyen
dc.subjectverifikace programůen
dc.subjectinkrementální analýzaen
dc.subjectstatic analysiscs
dc.subjectdata racecs
dc.subjectInfercs
dc.subjectprogram analysiscs
dc.subjectabstract interpretationcs
dc.subjectscalabilitycs
dc.subjectmulti-threaded programscs
dc.subjectconcurrent programscs
dc.subjectprogram verificationcs
dc.subjectincremental analysiscs
dc.titleStatic Analysis Using the Meta Infer Framework to Detect Data Racesen
dc.title.alternativeStatická analýza v nástroji Meta Infer zaměřená na detekci souběhu nad datycs
dc.typeTextcs
dc.type.driverbachelorThesisen
dc.type.evskpbakalářská prácecs
dcterms.dateAccepted2023-06-15cs
dcterms.modified2023-06-15-15:53:51cs
eprints.affiliatedInstitution.facultyFakulta informačních technologiícs
sync.item.dbid148636en
sync.item.dbtypeZPen
sync.item.insts2025.03.18 21:00:31en
sync.item.modts2025.01.17 10:54:23en
thesis.disciplineInformační technologiecs
thesis.grantorVysoké učení technické v Brně. Fakulta informačních technologií. Ústav inteligentních systémůcs
thesis.levelBakalářskýcs
thesis.nameBc.cs
Files
Original bundle
Now showing 1 - 2 of 2
Loading...
Thumbnail Image
Name:
final-thesis.pdf
Size:
1.76 MB
Format:
Adobe Portable Document Format
Description:
final-thesis.pdf
Loading...
Thumbnail Image
Name:
review_148636.html
Size:
14.23 KB
Format:
Hypertext Markup Language
Description:
file review_148636.html
Collections