{"id":22859899,"url":"https://github.com/harmim/vut-ibt","last_synced_at":"2026-05-16T18:10:12.252Z","repository":{"id":74891432,"uuid":"162825119","full_name":"harmim/vut-ibt","owner":"harmim","description":"Bachelor's Thesis - Static Analysis Using Facebook Infer to Find Atomicity Violations","archived":false,"fork":false,"pushed_at":"2022-05-12T09:01:37.000Z","size":35435,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-31T08:23:37.746Z","etag":null,"topics":["abstract-interpretation","atomicity","atomicity-violation","bachelor-thesis","concurrency","facebook","facebook-infer","ocaml","program-analysis","static-analysis","vut","vut-fit"],"latest_commit_sha":null,"homepage":"https://github.com/harmim/infer","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/harmim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-22T16:12:54.000Z","updated_at":"2023-12-29T03:26:12.000Z","dependencies_parsed_at":"2023-02-26T21:31:05.803Z","dependency_job_id":null,"html_url":"https://github.com/harmim/vut-ibt","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/harmim/vut-ibt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harmim%2Fvut-ibt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harmim%2Fvut-ibt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harmim%2Fvut-ibt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harmim%2Fvut-ibt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/harmim","download_url":"https://codeload.github.com/harmim/vut-ibt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harmim%2Fvut-ibt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273666008,"owners_count":25146273,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-04T02:00:08.968Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abstract-interpretation","atomicity","atomicity-violation","bachelor-thesis","concurrency","facebook","facebook-infer","ocaml","program-analysis","static-analysis","vut","vut-fit"],"created_at":"2024-12-13T09:08:24.583Z","updated_at":"2026-05-16T18:10:07.210Z","avatar_url":"https://github.com/harmim.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bachelor's Thesis\n### Static Analysis Using Facebook Infer to Find Atomicity Violations\n\n---\n\n# Bakalářská práce\n### Statická analýza v nástroji Facebook Infer zaměřená na detekci porušení atomičnosti\n\n---\n\n##### Author: Dominik Harmim \u003cxharmi00@stud.fit.vutbr.cz\u003e\n\n##### Supervisor: [prof. Ing. Tomáš Vojnar, Ph.D.](http://www.fit.vutbr.cz/~vojnar) (UITS FIT VUT) \u003cvojnar@fit.vutbr.cz\u003e\n\n##### Reviewer: [Ing. Aleš Smrčka, Ph.D.](http://www.fit.vutbr.cz/~smrcka) (UITS FIT VUT) \u003csmrcka@fit.vutbr.cz\u003e\n\n##### Specification:\n1. Prostudujte principy statické analýzy založené na abstraktní interpretaci.\n   Zvláštní pozornost věnujte přístupům zaměřeným na odhalování problémů v\n   synchronizaci paralelních procesů.\n2. Seznamte se s nástrojem Facebook Infer, jeho podporou pro abstraktní\n   interpretaci a s existujícímí analyzátory vytvořenými v prostředí Faceboook\n   Infer.\n3. V prostředí Facebook Infer navrhněte a naimplementujte analyzátor zaměřený\n   na odhalování chyb typu porušení atomicity.\n4. Experimentálně ověřte funkčnost vytvořeného analyzátoru na vhodně zvolených\n   netriviálních programech.\n5. Shrňte dosažené výsledky a diskutujte možnosti jejich dalšího rozvoje\n   v budoucnu.\n\n##### Category: Software analysis and testing\n\n##### Implementation language: [OCaml](https://ocaml.org)\n\n##### Free software: [Facebook Infer](https://fbinfer.com)\n\n##### Literature:\n- Nielson, F., Nielson, H.R., Hankin, C.: Principles of Program Analysis,\n  Springer-Verlag, 2005.\n- Blackshear, S., O'Hearn, P.: Open-Sourcing RacerD: Fast Static Race Detection\n  at Scale, 2017. Dostupné on-line:\n  https://code.fb.com/android/open-sourcing-racerd-fast-static-race-detection-at-scale.\n- Atkey, R., Sannella, D.: ThreadSafe: Static Analysis for Java Concurrency,\n  Electronic Communications of the EASST, 72, 2015. Dostupné on-line:\n  https://bentnib.org/threadsafe.html.\n- Bielik, P., Raychev, V., Vechev, M.T.: Scalable Race Detection for\n  Android Applications, In: Proc. of OOPSLA'15, ACM, 2015.\n- Dias, R.J., Ferreira, C., Fiedor, J., Lourenço, J.M., Smrčka, A., Sousa, D.G.,\n  Vojnar, T.: Verifying Concurrent Programs Using Contracts, In: Proc. of\n  ICST'17, IEEE, 2017.\n\n## Implementation\nThe implementation is in the repository\n[harmim/infer](https://github.com/harmim/infer). It is a fork of the repository\n[facebook/infer](https://github.com/facebook/infer). It is implemented under\nthe branch [atomicity-sets](https://github.com/harmim/infer/tree/atomicity-sets),\nsee the [diff](https://github.com/facebook/infer/compare/master...harmim:atomicity-sets).\n\n## Wiki\nMore information about the product, including examples, installation, and usage\nare available at the [Wiki](https://github.com/harmim/infer/wiki/Atomer:-Atomicity-Violations-Analyser).\n\n## Useful links:\n- [Facebook Infer](https://fbinfer.com)\n- [Facebook Infer GitHub](https://github.com/facebook/infer)\n- [OCaml](https://ocaml.org)\n- [Real Wolrd OCaml](https://v1.realworldocaml.org/v1/en/html/index.html)\n- [Abstract interpretation - Patrick Cousot intro](https://www.di.ens.fr/~cousot/AI/IntroAbsInt.html)\n- [Facebook Infer lab](https://github.com/facebook/infer/tree/master/infer/src/labs)\n- [Facebook Infer presentation](https://fbinfer.com/downloads/pldi17-infer-ai-tutorial.pdf)\n- [Facebook Infer INSTALL](https://github.com/facebook/infer/blob/master/INSTALL.md)\n- [Facebook Infer CONTRIBUTING](https://github.com/facebook/infer/blob/master/CONTRIBUTING.md)\n- [Open-sourcing RacerD: Fast static race detection at scale](https://code.fb.com/android/open-sourcing-racerd-fast-static-race-detection-at-scale)\n- [ThreadSafe: Static Analysis for Java Concurrency](https://bentnib.org/threadsafe.html)\n- [Scalable Race Detection for Android Applications](https://dl.acm.org/citation.cfm?id=2814303)\n- [Verifying Concurrent Programs Using Contracts](https://ieeexplore.ieee.org/document/7927975)\n- [How to Use C Mutex Lock](https://www.thegeekstuff.com/2012/05/c-mutex-examples)\n- [A True Positives Theorem for a Static Race Detector](https://arxiv.org/abs/1811.03503)\n- [Gluon](https://github.com/trxsys/gluon)\n- [VeriFIT Static Analysis Plugins](http://www.fit.vutbr.cz/research/groups/verifit/tools/sa-plugins)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharmim%2Fvut-ibt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fharmim%2Fvut-ibt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharmim%2Fvut-ibt/lists"}