{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,9,19]],"date-time":"2025-09-19T08:08:06Z","timestamp":1758269286899,"version":"3.40.3"},"publisher-location":"Cham","reference-count":23,"publisher":"Springer Nature Switzerland","isbn-type":[{"type":"print","value":"9783031572555"},{"type":"electronic","value":"9783031572562"}],"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>We present advances we brought to Mopsa for SV-Comp 2024. We significantly improved the precision of our verifier in the presence of dynamic memory allocation, library calls such as , -based loops, and integer abstractions. We introduced a witness validator for correctness witnesses. Thanks to these improvements, Mopsa won SV-Comp\u2019s<jats:italic>SoftwareSystems<\/jats:italic>category by a large margin, scoring 2.5 times more points than the silver medalist, Bubaak-SpLit.<\/jats:p>","DOI":"10.1007\/978-3-031-57256-2_26","type":"book-chapter","created":{"date-parts":[[2024,4,4]],"date-time":"2024-04-04T08:03:04Z","timestamp":1712217784000},"page":"387-392","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":8,"title":["Mopsa-C: Improved Verification for C Programs, Simple Validation of Correctness Witnesses (Competition Contribution)"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-8487-0326","authenticated-orcid":false,"given":"Rapha\u00ebl","family":"Monat","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6215-7359","authenticated-orcid":false,"given":"Marco","family":"Milanese","sequence":"additional","affiliation":[]},{"given":"Francesco","family":"Parolini","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0009-0001-7286-337X","authenticated-orcid":false,"given":"J\u00e9r\u00f4me","family":"Boillot","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7248-5914","authenticated-orcid":false,"given":"Abdelraouf","family":"Ouadjaout","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6375-3179","authenticated-orcid":false,"given":"Antoine","family":"Min\u00e9","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2024,4,5]]},"reference":[{"doi-asserted-by":"crossref","unstructured":"Balakrishnan, G., Reps, T.W.: Recency-abstraction for heap-allocated storage. In: SAS, Lecture Notes in Computer Science, vol. 4134, pp. 221\u2013239, Springer (2006)","key":"26_CR1","DOI":"10.1007\/11823230_15"},{"doi-asserted-by":"crossref","unstructured":"Beyer, D.: State of the art in software verification and witness validation: SV-COMP 2024. In: Proc. TACAS, LNCS\u00a0, Springer (2024)","key":"26_CR2","DOI":"10.1007\/978-3-031-57256-2_15"},{"doi-asserted-by":"crossref","unstructured":"Beyer, D., Spiessl, M.: Metaval: Witness validation via verification. In: CAV (2), Lecture Notes in Computer Science, vol. 12225, pp. 165\u2013177, Springer (2020)","key":"26_CR3","DOI":"10.1007\/978-3-030-53291-8_10"},{"doi-asserted-by":"crossref","unstructured":"Boillot, J., Feret, J.: Symbolic transformation of expressions in modular arithmetic. In: SAS, Lecture Notes in Computer Science, vol. 14284, pp. 84\u2013113, Springer (2023)","key":"26_CR4","DOI":"10.1007\/978-3-031-44245-2_6"},{"doi-asserted-by":"crossref","unstructured":"Chalupa, M., Richter, C.: Bubaak-SpLit: Split what you cannot verify (competition contribution). In: Proc. TACAS, LNCS\u00a0, Springer (2024)","key":"26_CR5","DOI":"10.1007\/978-3-031-57256-2_20"},{"doi-asserted-by":"crossref","unstructured":"Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPL, pp. 238\u2013252 (1977)","key":"26_CR6","DOI":"10.1145\/512950.512973"},{"doi-asserted-by":"crossref","unstructured":"Cousot, P., Cousot, R., Feret, J., Mauborgne, L., Min\u00e9, A., Monniaux, D., Rival, X.: Combination of abstractions in the Astr\u00e9e static analyzer. In: ASIAN, pp. 272\u2013300 (2006)","key":"26_CR7","DOI":"10.1007\/978-3-540-77505-8_23"},{"doi-asserted-by":"crossref","unstructured":"Journault, M., Min\u00e9, A., Monat, R., Ouadjaout, A.: Combinations of reusable abstract domains for a multilingual static analyzer. In: VSTTE, pp. 1\u201318 (2019)","key":"26_CR8","DOI":"10.1007\/978-3-030-41600-3_1"},{"doi-asserted-by":"crossref","unstructured":"Journault, M., Min\u00e9, A., Ouadjaout, A.: Modular static analysis of string manipulations in C programs. In: SAS, pp. 243\u2013262 (2018)","key":"26_CR9","DOI":"10.1007\/978-3-319-99725-4_16"},{"doi-asserted-by":"crossref","unstructured":"Milanese, M., Min\u00e9, A.: Generation of Violation Witnesses by Under-Approximating Abstract Interpretation. In: VMCAI, Springer (2024)","key":"26_CR10","DOI":"10.1007\/978-3-031-50524-9_3"},{"doi-asserted-by":"crossref","unstructured":"Min\u00e9, A.: Field-sensitive value analysis of embedded C programs with union types and pointer arithmetics. In: LCTES (2006)","key":"26_CR11","DOI":"10.1145\/1134650.1134659"},{"unstructured":"Monat, R.: Static Type and Value Analysis by Abstract Interpretation of Python Programs with Native C Libraries. Ph.D. thesis, Sorbonne Universit\u00e9, France (2021)","key":"26_CR12"},{"doi-asserted-by":"publisher","unstructured":"Monat, R., Milanese, M., Parolini, F., Boillot, J., Ouadjaout, A., Min\u00e9, A.: Mopsa at sv-comp 2024 (Nov 2023), https:\/\/doi.org\/10.5281\/zenodo.10198570","key":"26_CR13","DOI":"10.5281\/zenodo.10198570"},{"doi-asserted-by":"crossref","unstructured":"Monat, R., Ouadjaout, A., Min\u00e9, A.: Value and allocation sensitivity in static python analyses. In: SOAP@PLDI, pp. 8\u201313, ACM (2020)","key":"26_CR14","DOI":"10.1145\/3394451.3397205"},{"doi-asserted-by":"crossref","unstructured":"Monat, R., Ouadjaout, A., Min\u00e9, A.: Mopsa-c: Modular domains and relational abstract interpretation for C programs (competition contribution). In: TACAS (2), Lecture Notes in Computer Science, vol. 13994, pp. 565\u2013570, Springer (2023)","key":"26_CR15","DOI":"10.1007\/978-3-031-30820-8_37"},{"doi-asserted-by":"crossref","unstructured":"Ouadjaout, A., Min\u00e9, A.: A library modeling language for the static analysis of C programs. In: SAS, pp. 223\u2013247 (2020)","key":"26_CR16","DOI":"10.1007\/978-3-030-65474-0_11"},{"unstructured":"Ouadjaout, A., Monat, R., Min\u00e9, A., Journault, M.: Mopsa (2022), URL https:\/\/gitlab.com\/mopsa\/mopsa-analyzer","key":"26_CR17"},{"doi-asserted-by":"crossref","unstructured":"Regehr, J., Chen, Y., Cuoq, P., Eide, E., Ellison, C., Yang, X.: Test-case reduction for C compiler bugs. In: PLDI, pp. 335\u2013346, ACM (2012)","key":"26_CR18","DOI":"10.1145\/2345156.2254104"},{"doi-asserted-by":"crossref","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, LNCS\u00a0, Springer (2024)","key":"26_CR19","DOI":"10.1007\/978-3-031-57256-2_25"},{"doi-asserted-by":"crossref","unstructured":"Saan, S., Schwarz, M., Apinis, K., Erhard, J., Seidl, H., Vogler, R., Vojdani, V.: Goblint: Thread-modular abstract interpretation using side-effecting constraints - (competition contribution). In: TACAS (2021)","key":"26_CR20","DOI":"10.1007\/978-3-030-72013-1_28"},{"doi-asserted-by":"crossref","unstructured":"Saan, S., Schwarz, M., Erhard, J., Pietsch, M., Seidl, H., Tilscher, S., Vojdani, V.: Goblint: Autotuning thread-modular abstract interpretation (competition contribution). In: Proc. TACAS\u00a0(2), LNCS\u00a0, Springer (2023)","key":"26_CR21","DOI":"10.1007\/978-3-031-30820-8_34"},{"doi-asserted-by":"crossref","unstructured":"Saan, S., Schwarz, M., Erhard, J., Seidl, H., Tilscher, S., Vojdani, V.: Correctness witness validation by abstract interpretation. In: VCMAI, LNCS\u00a0, Springer (2024)","key":"26_CR22","DOI":"10.1007\/978-3-031-50524-9_4"},{"doi-asserted-by":"crossref","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@PLDI, pp. 20\u201326, ACM (2023)","key":"26_CR23","DOI":"10.1145\/3589250.3596140"}],"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_26","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_26"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024]]},"ISBN":["9783031572555","9783031572562"],"references-count":23,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-57256-2_26","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"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)"}}]}}