Publikation: Revealing Sources of (Memory) Errors via Backward Analysis
Dateien
Datum
Autor:innen
Herausgeber:innen
ISSN der Zeitschrift
Electronic ISSN
ISBN
Bibliografische Daten
Verlag
Schriftenreihe
Auflagebezeichnung
URI (zitierfähiger Link)
DOI (zitierfähiger Link)
ArXiv-ID
Internationale Patentnummer
Link zur Lizenz
Angaben zur Forschungsförderung
Projekt
Open Access-Veröffentlichung
Core Facility der Universität Konstanz
Titel in einer weiteren Sprache
Publikationstyp
Publikationsstatus
Erschienen in
Zusammenfassung
Sound over-approximation methods are effective for proving the absence of errors, but inevitably produce false alarms that can hamper programmers.
In contrast, under-approximation methods focus on bug detection and are free from false alarms.
In this work, we present two novel proof systems designed to locate the source of errors via backward under-approximation, namely Sufficient Incorrectness Logic (SIL) and its specialization for handling memory errors, called Separation SIL.
The SIL proof system is minimal, sound and complete for Lisbon triples, enabling a detailed comparison of triple-based program logics across various dimensions, including negation, approximation, execution order, and analysis objectives.
More importantly, SIL lays the foundation for our main technical contribution, by distilling the inference rules of Separation SIL, a sound and (relatively) complete proof system for automated backward reasoning in programs involving pointers and dynamic memory allocation. The completeness result for Separation SIL relies on a careful crafting of both the assertion language and the rules for atomic commands.
Zusammenfassung in einer weiteren Sprache
Fachgebiet (DDC)
Schlagwörter
Konferenz
Rezension
Zitieren
ISO 690
ASCARI, Flavio, Roberto BRUNI, Roberta GORI, Francesco LOGOZZO, 2025. Revealing Sources of (Memory) Errors via Backward Analysis. In: Proceedings of the ACM on Programming Languages. ACM. 2025, 9(OOPSLA1), S. 1321-1348. eISSN 2475-1421. Verfügbar unter: doi: 10.1145/3720486BibTex
@article{Ascari2025-04-09Revea-76135,
title={Revealing Sources of (Memory) Errors via Backward Analysis},
year={2025},
doi={10.1145/3720486},
number={OOPSLA1},
volume={9},
journal={Proceedings of the ACM on Programming Languages},
pages={1321--1348},
author={Ascari, Flavio and Bruni, Roberto and Gori, Roberta and Logozzo, Francesco}
}RDF
<rdf:RDF
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:bibo="http://purl.org/ontology/bibo/"
xmlns:dspace="http://digital-repositories.org/ontologies/dspace/0.1.0#"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:void="http://rdfs.org/ns/void#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#" >
<rdf:Description rdf:about="https://kops.uni-konstanz.de/server/rdf/resource/123456789/76135">
<dc:creator>Logozzo, Francesco</dc:creator>
<dspace:hasBitstream rdf:resource="https://kops.uni-konstanz.de/bitstream/123456789/76135/1/Ascari_2-x4d34jf85giv1.pdf"/>
<dc:date rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2026-02-05T14:22:14Z</dc:date>
<dc:contributor>Gori, Roberta</dc:contributor>
<dcterms:hasPart rdf:resource="https://kops.uni-konstanz.de/bitstream/123456789/76135/1/Ascari_2-x4d34jf85giv1.pdf"/>
<dcterms:issued>2025-04-09</dcterms:issued>
<dc:contributor>Logozzo, Francesco</dc:contributor>
<dc:contributor>Bruni, Roberto</dc:contributor>
<dc:creator>Bruni, Roberto</dc:creator>
<dcterms:abstract>Sound over-approximation methods are effective for proving the absence of errors, but inevitably produce false alarms that can hamper programmers.
In contrast, under-approximation methods focus on bug detection and are free from false alarms.
In this work, we present two novel proof systems designed to locate the source of errors via backward under-approximation, namely Sufficient Incorrectness Logic (SIL) and its specialization for handling memory errors, called Separation SIL.
The SIL proof system is minimal, sound and complete for Lisbon triples, enabling a detailed comparison of triple-based program logics across various dimensions, including negation, approximation, execution order, and analysis objectives.
More importantly, SIL lays the foundation for our main technical contribution, by distilling the inference rules of Separation SIL, a sound and (relatively) complete proof system for automated backward reasoning in programs involving pointers and dynamic memory allocation. The completeness result for Separation SIL relies on a careful crafting of both the assertion language and the rules for atomic commands.</dcterms:abstract>
<dc:rights>Attribution-NonCommercial-ShareAlike 4.0 International</dc:rights>
<void:sparqlEndpoint rdf:resource="http://localhost/fuseki/dspace/sparql"/>
<dc:creator>Ascari, Flavio</dc:creator>
<dcterms:rights rdf:resource="http://creativecommons.org/licenses/by-nc-sa/4.0/"/>
<dcterms:title>Revealing Sources of (Memory) Errors via Backward Analysis</dcterms:title>
<dcterms:isPartOf rdf:resource="https://kops.uni-konstanz.de/server/rdf/resource/123456789/36"/>
<dspace:isPartOfCollection rdf:resource="https://kops.uni-konstanz.de/server/rdf/resource/123456789/36"/>
<dcterms:available rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2026-02-05T14:22:14Z</dcterms:available>
<dc:language>eng</dc:language>
<dc:creator>Gori, Roberta</dc:creator>
<foaf:homepage rdf:resource="http://localhost:8080/"/>
<bibo:uri rdf:resource="https://kops.uni-konstanz.de/handle/123456789/76135"/>
<dc:contributor>Ascari, Flavio</dc:contributor>
</rdf:Description>
</rdf:RDF>