Original title:
Statická analýza v nástroji Facebook Infer zaměřená na detekci porušení atomičnosti
Translated title:
Static Analysis Using Facebook Infer to Find Atomicity Violations
Authors:
Harmim, Dominik ; Smrčka, Aleš (referee) ; Vojnar, Tomáš (advisor) Document type: Bachelor's theses
Year:
2019
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
Cílem této práce je navrhnout statický analyzátor, který bude sloužit pro detekci porušení atomicity. Navržený analyzátor Atomer je implementován jako modul pro Facebook Infer, což je volně šířený a snadno rozšířitelný nástroj, který umožňuje efektivní modulární a inkrementální analýzu. Analyzátor pracuje na úrovni sekvencí volání funkcí. Navržené řešení je založeno na předpokladu, že sekvence, které jsou zavolány atomicky jednou, by měly být pravděpodobně volány atomicky vždy. Implementovaný analyzátor byl úspěšně ověřen a vyhodnocen jak na malých programech, vytvořených pro testovací účely, tak na veřejně dostupných testovacích programech, které vznikly ze skutečných nízkoúrovňových programů.
The goal of this thesis is to propose a static analyser that detects atomicity violations. The proposed analyser Atomer is implemented as a module of Facebook Infer, which is an open-source and extendable static analysis framework that promotes efficient modular and incremental analysis. The analyser works on the level of sequences of function calls. The proposed solution is based on the assumption that sequences executed atomically once should probably be executed always atomically. The implemented analyser has been successfully verified and evaluated on both smaller programs created for testing purposes as well as publicly available benchmarks derived from real-life low-level programs.
Keywords:
abstract interpretation; atomic sequences; atomicity; atomicity violation; compositional analysis; concurrent programs; contracts for concurrency; Facebook Infer; incremental analysis; interprocedural analysis; modular analysis; programs analysis; static analysis; abstraktní interpretace; analýza programů; atomicita; atomické sekvence; Facebook Infer; inkrementální analýza; interprocedurální analýza; kompoziční analýza; kontrakty pro souběžnost; modulární analýza; paralelní programy; porušení atomicity; statická analýza
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/180173