We present RacerF, a novel static analyser for thread-modular data race detection. The approach behind RacerF exploits static analysis of sequential program behaviour whose results are generalised for multi-threaded programs using a combination of lightweight under- and over-approximating methods. The tool is implemented as a plugin of the Frama-C platform and can leverage several analysis backends, most notably the Frama-C’s abstract interpreter EVA. Although our methods are mostly heuristic without providing formal guarantees, our experimental evaluation shows that even for intricate programs, RacerF can provide very precise results competitive with more heavyweight approaches while being faster than them.
@InProceedings{dacik_et_al:LIPIcs.ECOOP.2025.37, author = {Dac{\'\i}k, Tom\'{a}\v{s} and Vojnar, Tom\'{a}\v{s}}, title = {{RacerF: Lightweight Static Data Race Detection for C Code}}, booktitle = {39th European Conference on Object-Oriented Programming (ECOOP 2025)}, pages = {37:1--37:19}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-373-7}, ISSN = {1868-8969}, year = {2025}, volume = {333}, editor = {Aldrich, Jonathan and Silva, Alexandra}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2025.37}, URN = {urn:nbn:de:0030-drops-233298}, doi = {10.4230/LIPIcs.ECOOP.2025.37}, annote = {Keywords: concurrency, data race detection, static analysis} }
Feedback for Dagstuhl Publishing