{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,16]],"date-time":"2026-04-16T02:09:31Z","timestamp":1776305371329,"version":"3.50.1"},"publisher-location":"Cham","reference-count":12,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783031906596","type":"print"},{"value":"9783031906602","type":"electronic"}],"license":[{"start":{"date-parts":[[2025,1,1]],"date-time":"2025-01-01T00:00:00Z","timestamp":1735689600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2025,5,1]],"date-time":"2025-05-01T00:00:00Z","timestamp":1746057600000},"content-version":"vor","delay-in-days":120,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2025]]},"abstract":"<jats:title>Abstract<\/jats:title>\n          <jats:p>\n            <jats:sc>RacerF<\/jats:sc> is a static analyser for detection of data races in multithreaded C programs implemented as a plugin of the Frama-C platform. The approach behind <jats:sc>RacerF<\/jats:sc> is mostly heuristic and relies on analysis of the sequential behaviour of particular threads whose results are generalised using a combination of under- and over-approximating techniques to allow analysis of the multithreading behaviour. In particular, in SV-COMP\u201925, <jats:sc>RacerF<\/jats:sc> relies on the Frama-C\u2019s abstract interpreter <jats:sc>EVA<\/jats:sc> to perform the analysis of the sequential behaviour. Although <jats:sc>RacerF<\/jats:sc> does not provide any formal guarantees, it ranked second in the <jats:italic>NoDataRace-Main<\/jats:italic> sub-category, providing the largest number of correct results (when excluding metaverifiers) and just 4 false positives.\n\n<\/jats:p>","DOI":"10.1007\/978-3-031-90660-2_20","type":"book-chapter","created":{"date-parts":[[2025,4,30]],"date-time":"2025-04-30T09:37:55Z","timestamp":1746005875000},"page":"248-253","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["RacerF: Data Race Detection with\u00a0Frama-C (Competition Contribution)"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-4083-8943","authenticated-orcid":false,"given":"Tom\u00e1\u0161","family":"Dac\u00edk","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2746-8792","authenticated-orcid":false,"given":"Tom\u00e1\u0161","family":"Vojnar","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2025,5,1]]},"reference":[{"key":"20_CR1","doi-asserted-by":"publisher","unstructured":"(8), 56\u201368 (2021). https:\/\/doi.org\/10.1145\/3470569","DOI":"10.1145\/3470569"},{"key":"20_CR2","unstructured":"Beyer, D., Strej\u010dek, J.: Improvements in software verification and witness validation: SV-COMP 2025. In: Proc. TACAS. LNCS, Springer (2025)"},{"key":"20_CR3","doi-asserted-by":"publisher","unstructured":"Blazy, S., B\u00fchler, D., Yakobowski, B.: Structuring Abstract Interpreters Through State and Value Abstractions. In: Proc. VMCAI, pp. 112\u2013130 (2017). https:\/\/doi.org\/10.1007\/978-3-319-52234-0_7","DOI":"10.1007\/978-3-319-52234-0_7"},{"key":"20_CR4","unstructured":"Conchon, S., Filli\u00e2tre, J.C., Signoles, J.: Designing a Generic Graph Library using ML Functors. In: Symposium on Trends in Functional Programming (2007)"},{"key":"20_CR5","doi-asserted-by":"publisher","unstructured":"Cuoq, P., Kirchner, F., Kosmatov, N., Prevosto, V., Signoles, J., Yakobowski, B.: Frama-C: A Software Analysis Perspective. In: Proc. SEFM. p. 233\u2013247. Springer-Verlag (2012). https:\/\/doi.org\/10.1007\/978-3-642-33826-7_16","DOI":"10.1007\/978-3-642-33826-7_16"},{"key":"20_CR6","unstructured":"Dac\u00edk, T., Vojnar, T.: RacerF (SV-COMP 25). Zenodo (2024), https:\/\/doi.org\/10.5281\/zenodo.14507645"},{"key":"20_CR7","unstructured":"Dac\u00edk, T., Vojnar, T.: RacerF: Lightweight Static Data Race Detection for C Code (2025), https:\/\/arxiv.org\/abs\/2502.04905"},{"key":"20_CR8","doi-asserted-by":"publisher","unstructured":"Engler, D., Ashcraft, K.: RacerX: Effective, Static Detection of Race Conditions and Deadlocks. SIGOPS Oper. Syst. Rev. 37(5), 237\u2013252 (2003). https:\/\/doi.org\/10.1145\/1165389.945468","DOI":"10.1145\/1165389.945468"},{"key":"20_CR9","doi-asserted-by":"publisher","unstructured":"Necula, G.C., McPeak, S., Rahul, S.P., Weimer, W.: Cil: Intermediate language and tools for analysis and transformation of c programs. In: Compiler Construction. pp. 213\u2013228 (2002). https:\/\/doi.org\/10.1007\/3-540-45937-5_16","DOI":"10.1007\/3-540-45937-5_16"},{"key":"20_CR10","doi-asserted-by":"publisher","unstructured":"Saan, S., Erhard, J., Schwarz, M., Bozhilov, S., Holter, K., Tilscher, S., Vojdani, V., Seidl, H.: Goblint: Abstract interpretation for memory safety and termination (competition contribution). In: Proc. TACAS\u00a0(3). pp. 381\u2013386. LNCS\u00a014572, Springer (2024). https:\/\/doi.org\/10.1007\/978-3-031-57256-2_25","DOI":"10.1007\/978-3-031-57256-2_25"},{"key":"20_CR11","doi-asserted-by":"publisher","unstructured":"Savage, S., Burrows, M., Nelson, G., Sobalvarro, P., Anderson, T.: Eraser: A Dynamic Data Race Detector for Multithreaded Programs. ACM Transactions on Computer Systems (TOCS) 15(4), 391\u2013411 (1997). https:\/\/doi.org\/10.1145\/265924.265927","DOI":"10.1145\/265924.265927"},{"key":"20_CR12","doi-asserted-by":"crossref","unstructured":"Vojdani, V., Apinis, K., R\u00f5tov, V., Seidl, H., Vene, V., Vogler, R.: Static Race Detection for Device Drivers: The Goblint Approach. In: Proc. ASE. p. 391\u2013402. Association for Computing Machinery (2016), https:\/\/doi.org\/10.1145\/2970276.2970337","DOI":"10.1145\/2970276.2970337"}],"container-title":["Lecture Notes in Computer Science","Tools and Algorithms for the Construction and Analysis of Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-90660-2_20","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,4,30]],"date-time":"2025-04-30T09:38:00Z","timestamp":1746005880000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-90660-2_20"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025]]},"ISBN":["9783031906596","9783031906602"],"references-count":12,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-90660-2_20","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025]]},"assertion":[{"value":"1 May 2025","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"TACAS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Tools and Algorithms for the Construction and Analysis of Systems","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Hamilton, ON","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Canada","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2025","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"3 May 2025","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"8 May 2025","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"31","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"tacas2025","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/etaps.org\/2025\/conferences\/tacas\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}