{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,23]],"date-time":"2026-07-23T20:09:04Z","timestamp":1784837344093,"version":"3.55.0"},"publisher-location":"Cham","reference-count":21,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783031572555","type":"print"},{"value":"9783031572562","type":"electronic"}],"license":[{"start":{"date-parts":[[2024,1,1]],"date-time":"2024-01-01T00:00:00Z","timestamp":1704067200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2024,4,5]],"date-time":"2024-04-05T00:00:00Z","timestamp":1712275200000},"content-version":"vor","delay-in-days":95,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2024]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p><jats:sc>Goblint<\/jats:sc>is an abstract interpreter of C programs, focusing on the analysis of multi-threaded code. It is equipped with a variety of abstract domains, as well as analyses which allow it to reason about an array of program properties in a highly configurable manner.<jats:sc>Goblint<\/jats:sc>has been extended with support for the detection of memory safety bugs and non-termination.<\/jats:p>","DOI":"10.1007\/978-3-031-57256-2_25","type":"book-chapter","created":{"date-parts":[[2024,4,4]],"date-time":"2024-04-04T08:03:04Z","timestamp":1712217784000},"page":"381-386","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":11,"title":["Goblint: Abstract Interpretation for Memory Safety and Termination"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-4553-1350","authenticated-orcid":false,"given":"Simmo","family":"Saan","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1729-3925","authenticated-orcid":false,"given":"Julian","family":"Erhard","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9828-0308","authenticated-orcid":false,"given":"Michael","family":"Schwarz","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0002-1361-942X","authenticated-orcid":false,"given":"Stanimir","family":"Bozhilov","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0008-3725-4131","authenticated-orcid":false,"given":"Karoliine","family":"Holter","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0009-9644-7475","authenticated-orcid":false,"given":"Sarah","family":"Tilscher","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4336-7980","authenticated-orcid":false,"given":"Vesal","family":"Vojdani","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2135-1593","authenticated-orcid":false,"given":"Helmut","family":"Seidl","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2024,4,5]]},"reference":[{"key":"25_CR1","unstructured":"Apinis, K.: Frameworks for analyzing multi-threaded C. Ph.D. thesis, Technische Universit\u00e4t M\u00fcnchen (2014)"},{"key":"25_CR2","doi-asserted-by":"publisher","unstructured":"Apinis, K., Seidl, H., Vojdani, V.: Side-Effecting Constraint Systems: A Swiss Army Knife for Program Analysis. In: APLAS \u201912, pp. 157\u2013172, Springer (2012), DOI: https:\/\/doi.org\/10.1007\/978-3-642-35182-2_12","DOI":"10.1007\/978-3-642-35182-2_12"},{"key":"25_CR3","doi-asserted-by":"crossref","unstructured":"Beyer, D.: State of the art in software verification and witness validation: SV-COMP 2024. In: TACAS \u201924, Springer (2024)","DOI":"10.1007\/978-3-031-57256-2_15"},{"key":"25_CR4","doi-asserted-by":"publisher","unstructured":"Cousot, P., Cousot, R.: An abstract interpretation framework for termination. In: POPL \u201912, pp. 245\u2013258, ACM (2012), DOI: https:\/\/doi.org\/10.1145\/2103656.2103687","DOI":"10.1145\/2103656.2103687"},{"key":"25_CR5","doi-asserted-by":"publisher","unstructured":"Dimovski, A.S.: Lifted termination analysis by abstract interpretation and its applications. In: GPCE \u201921, pp. 96\u2013109, ACM (2021), DOI: https:\/\/doi.org\/10.1145\/3486609.3487202","DOI":"10.1145\/3486609.3487202"},{"key":"25_CR6","doi-asserted-by":"publisher","unstructured":"Gui, B., Song, W., Xiong, H., Huang, J.: Automated use-after-free detection and exploit mitigation: How far have we gone? IEEE Trans. Software Eng. 48(11), 4569\u20134589 (2022), DOI: https:\/\/doi.org\/10.1109\/TSE.2021.3121994","DOI":"10.1109\/TSE.2021.3121994"},{"key":"25_CR7","doi-asserted-by":"publisher","unstructured":"He, F., Sun, Z., Fan, H.: Deagle: An SMT-based verifier for multi-threaded programs. In: TACAS \u201922, vol.\u00a02, pp. 424\u2013428, Springer (2022), DOI: https:\/\/doi.org\/10.1007\/978-3-030-99527-0_25","DOI":"10.1007\/978-3-030-99527-0_25"},{"key":"25_CR8","doi-asserted-by":"publisher","unstructured":"Jeannet, B., Min\u00e9, A.: Apron: A library of numerical abstract domains for static analysis. In: CAV \u201909, pp. 661\u2013667, Springer (2009), DOI: https:\/\/doi.org\/10.1007\/978-3-642-02658-4_52","DOI":"10.1007\/978-3-642-02658-4_52"},{"key":"25_CR9","doi-asserted-by":"publisher","unstructured":"Jones, J., Wasson, J., Brown, S., Poulsen, S., Aldous, P., Mercer, E.: Memory safety in C by abstract interpretation. SIGSOFT Softw. Eng. Notes 43(4), 56 (2019), DOI: https:\/\/doi.org\/10.1145\/3282517.3282530","DOI":"10.1145\/3282517.3282530"},{"key":"25_CR10","doi-asserted-by":"publisher","unstructured":"Loginov, A., Yahav, E., Chandra, S., Fink, S., Rinetzky, N., Nanda, M.: Verifying dereference safety via expanding-scope analysis. In: ISSTA \u201908, pp. 213\u2013224, ACM (2008), DOI: https:\/\/doi.org\/10.1145\/1390630.1390657","DOI":"10.1145\/1390630.1390657"},{"key":"25_CR11","doi-asserted-by":"crossref","unstructured":"Monat, R., Milanese, M., Parolini, F., Boillot, J., Ouadjaout, A., Min\u00e9, A.: Mopsa-C: Improved verification for C programs, simple validation of correctness witnesses. In: TACAS \u201924, Springer (2024)","DOI":"10.1007\/978-3-031-57256-2_26"},{"key":"25_CR12","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: CC \u201902, pp. 213\u2013228, Springer (2002), DOI: https:\/\/doi.org\/10.1007\/3-540-45937-5_16","DOI":"10.1007\/3-540-45937-5_16"},{"key":"25_CR13","doi-asserted-by":"publisher","unstructured":"Saan, S., Erhard, J., Schwarz, M., Bozhilov, S., Holter, K., Tilscher, S., Vojdani, V., Seidl, H.: Goblint at SV-COMP 2024 (Nov 2023), DOI: https:\/\/doi.org\/10.5281\/zenodo.10202867,tool artifact","DOI":"10.5281\/zenodo.10202867"},{"key":"25_CR14","doi-asserted-by":"publisher","unstructured":"Saan, S., Schwarz, M., Apinis, K., Erhard, J., Seidl, H., Vogler, R., Vojdani, V.: Goblint: Thread-modular abstract interpretation using side-effecting constraints. In: TACAS \u201921, pp. 438\u2013442, Springer (2021), DOI: https:\/\/doi.org\/10.1007\/978-3-030-72013-1_28","DOI":"10.1007\/978-3-030-72013-1_28"},{"key":"25_CR15","doi-asserted-by":"publisher","unstructured":"Saan, S., Schwarz, M., Erhard, J., Pietsch, M., Seidl, H., Tilscher, S., Vojdani, V.: Goblint: Autotuning thread-modular abstract interpretation. In: TACAS \u201923, vol.\u00a02, pp. 547\u2013552, Springer (2023), DOI: https:\/\/doi.org\/10.1007\/978-3-031-30820-8_34","DOI":"10.1007\/978-3-031-30820-8_34"},{"key":"25_CR16","doi-asserted-by":"publisher","unstructured":"Schwarz, M., Erhard, J., Vojdani, V., Saan, S., Seidl, H.: When long jumps fall short: Control-flow tracking and misuse detection for non-local jumps in C. In: SOAP \u201923, pp. 20\u201326, ACM (2023), DOI: https:\/\/doi.org\/10.1145\/3589250.3596140","DOI":"10.1145\/3589250.3596140"},{"key":"25_CR17","doi-asserted-by":"publisher","unstructured":"Schwarz, M., Saan, S., Seidl, H., Erhard, J., Vojdani, V.: Clustered relational thread-modular abstract interpretation with local traces. In: ESOP \u201923, pp. 28\u201358, Springer (2023), DOI: https:\/\/doi.org\/10.1007\/978-3-031-30044-8_2","DOI":"10.1007\/978-3-031-30044-8_2"},{"key":"25_CR18","doi-asserted-by":"crossref","unstructured":"Seidl, H., Erhard, J., Schwarz, M., Tilscher, S.: 2-pointer logic. In: Javier Esparza\u2019s 60th Birthday, pp. 254\u2013264, Springer (2024)","DOI":"10.1007\/978-3-031-56222-8_16"},{"key":"25_CR19","doi-asserted-by":"publisher","unstructured":"Seidl, H., Vogler, R.: Three improvements to the top-down solver. Math. Struct. Comput. Sci. 31(9), 1090\u20131134 (2021), DOI: https:\/\/doi.org\/10.1017\/S0960129521000499","DOI":"10.1017\/S0960129521000499"},{"key":"25_CR20","doi-asserted-by":"publisher","unstructured":"Sui, Y., Ye, D., Xue, J.: Static memory leak detection using full-sparse value-flow analysis. In: ISSTA \u201912, pp. 254\u2013264, ACM (2012), DOI: https:\/\/doi.org\/10.1145\/2338965.2336784","DOI":"10.1145\/2338965.2336784"},{"key":"25_CR21","doi-asserted-by":"crossref","unstructured":"Wang, Z., Chen, Z.: AISE: A symbolic verifier by synergizing abstract interpretation and symbolic execution. In: TACAS \u201924, Springer (2024)","DOI":"10.1007\/978-3-031-57256-2_19"}],"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-57256-2_25","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,11,15]],"date-time":"2024-11-15T17:21:51Z","timestamp":1731691311000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-57256-2_25"}},"subtitle":["(Competition Contribution)"],"short-title":[],"issued":{"date-parts":[[2024]]},"ISBN":["9783031572555","9783031572562"],"references-count":21,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-57256-2_25","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024]]},"assertion":[{"value":"5 April 2024","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":"Luxembourg City","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Luxembourg","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2024","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"6 April 2024","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"11 April 2024","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"30","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"tacas2024","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/etaps.org\/2024\/conferences\/tacas\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Double-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"159","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"53","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"16","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"33% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"10","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}