Detail publikace
Static Deadlock Detection in Low-Level C Code
Marcin Vladimír, Ing.
Svobodová Lucie, Bc. (FIT)
Vojnar Tomáš, prof. Ing., Ph.D. (UITS)
static analysis, abstract interpretation, function summaries, modular analysis, concurrent code, deadlock, Infer
Článek představuje nový škálovatelný analyzátor uváznutí L2D2, který je schopen zpracovávat kód jazyka C s nízko-úrovňovou nestrukturovanou manipulací se zámky. L2D2 běží dle stromu volání programu, počínaje jeho listy, a analyzuje každou funkci pouze jednou, bez znalosti kontextu volání. L2D2 vytváří souhrny funkcí, které zaznamenávají informace o zámcích, o nichž se předpokládá nebo ví, že jsou uzamčeny nebo odemčeny na vstupu, uvnitř a na výstupu funkcí, spolu se závislostmi zámků, a při zjištění cyklů v závislostech zámků hlásí varování o možných uváznutích. L2D2 byl implementován jako zásuvný modul v prostředí Facebook/Meta Infer a článek presentuje výsledky experimentů s L2D2 na velkém objemu kódu v jazycích C i C++, které ilustrují účinnost a efektivitu L2D2.
@inproceedings{BUT187815,
author="Dominik {Harmim} and Vladimír {Marcin} and Lucie {Svobodová} and Tomáš {Vojnar}",
title="Static Deadlock Detection in Low-Level C Code",
booktitle="International Conference on Computer Aided Systems Theory (EUROCAST'22)",
year="2023",
series="Lecture Notes in Computer Science",
volume="13789",
pages="267--276",
publisher="Springer Nature Switzerland AG",
address="Cham",
doi="10.1007/978-3-031-25312-6\{_}31",
isbn="978-3-031-25311-9",
url="https://link.springer.com/chapter/10.1007/978-3-031-25312-6_31"
}