U-Turn: Enhancing Incorrectness Analysis by Reversing Direction

dc.contributor.authorAscari, Flavio
dc.contributor.authorBruni, Roberto
dc.contributor.authorGori, Roberta
dc.contributor.authorRaad, Azalea
dc.date.accessioned2026-02-05T14:33:26Z
dc.date.available2026-02-05T14:33:26Z
dc.date.issued2026-01-08
dc.description.abstractO'Hearn's Incorrectness Logic (IL) has sparked renewed interest in static analyses that aim to detect program errors rather than prove their absence, thereby avoiding false alarms—a critical factor for practical adoption in industrial settings. As new incorrectness logics emerge to capture diverse error-related properties, a key question arises: can combining correctness and incorrectness techniques enhance precision, expressiveness, automation, or scalability? Notable frameworks, such as outcome logic, UNTer, local completeness logic, and exact separation logic, unify multiple analyses within a single proof system. In this work, we adopt a complementary strategy. Rather than designing a unified logic, we combine IL, which identifies reachable error states, with Sufficient Incorrectness Logic (SIL), which finds input states potentially leading to those errors. As a result, we get a more informative and effective analysis than either logic in isolation. Rather than sequencing them, our key innovation is reusing heuristic choices from the first analysis to steer the second. In fact, both IL and SIL rely on under-approximation and thus their automation legitimizes heuristics that avoid exhaustive path enumeration (e.g., selective disjunct pruning, loop unrolling). Concretely, we instrument the proof rules of the second logic with derivations from the first to inductively guide rule selection and application. To our knowledge, this is the first rule format enabling such inter-analysis instrumentation. This combined analysis aids debugging and testing by revealing both reachable errors and their causes, and opens new avenues for embedding incorrectness insights into scalable, expressive, automated code contracts.
dc.description.versionpublisheddeu
dc.identifier.arxiv2510.09292
dc.identifier.doi10.1145/3776688
dc.identifier.ppn1961776170
dc.identifier.urihttps://kops.uni-konstanz.de/handle/123456789/76136
dc.language.isoeng
dc.rightsterms-of-use
dc.rights.urihttps://rightsstatements.org/page/InC/1.0/
dc.subjectSufficient Incorrectness Logic
dc.subjectIncorrectness Logic
dc.subject.ddc004
dc.titleU-Turn: Enhancing Incorrectness Analysis by Reversing Directioneng
dc.typeJOURNAL_ARTICLE
dspace.entity.typePublication
kops.citation.bibtex
@article{Ascari2026-01-08UTurn-76136,
  title={U-Turn: Enhancing Incorrectness Analysis by Reversing Direction},
  year={2026},
  doi={10.1145/3776688},
  number={POPL},
  volume={10},
  journal={Proceedings of the ACM on Programming Languages},
  pages={1326--1352},
  author={Ascari, Flavio and Bruni, Roberto and Gori, Roberta and Raad, Azalea}
}
kops.citation.iso690ASCARI, Flavio, Roberto BRUNI, Roberta GORI, Azalea RAAD, 2026. U-Turn: Enhancing Incorrectness Analysis by Reversing Direction. In: Proceedings of the ACM on Programming Languages. ACM. 2026, 10(POPL), S. 1326-1352. eISSN 2475-1421. Verfügbar unter: doi: 10.1145/3776688deu
kops.citation.iso690ASCARI, Flavio, Roberto BRUNI, Roberta GORI, Azalea RAAD, 2026. U-Turn: Enhancing Incorrectness Analysis by Reversing Direction. In: Proceedings of the ACM on Programming Languages. ACM. 2026, 10(POPL), pp. 1326-1352. eISSN 2475-1421. Available under: doi: 10.1145/3776688eng
kops.citation.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/76136">
    <dc:contributor>Ascari, Flavio</dc:contributor>
    <dc:rights>terms-of-use</dc:rights>
    <dc:creator>Gori, Roberta</dc:creator>
    <foaf:homepage rdf:resource="http://localhost:8080/"/>
    <dc:creator>Raad, Azalea</dc:creator>
    <dcterms:rights rdf:resource="https://rightsstatements.org/page/InC/1.0/"/>
    <void:sparqlEndpoint rdf:resource="http://localhost/fuseki/dspace/sparql"/>
    <dcterms:abstract>O'Hearn's Incorrectness Logic (IL) has sparked renewed interest in static analyses that aim to detect program errors rather than prove their absence, thereby avoiding false alarms—a critical factor for practical adoption in industrial settings. 
As new incorrectness logics emerge to capture diverse error-related properties, a key question arises: 
can combining correctness and incorrectness techniques enhance precision, expressiveness, automation, or scalability? 
Notable frameworks, such as outcome logic, UNTer, local completeness logic, and exact separation logic, unify multiple analyses within a single proof system. 
In this work, we adopt a complementary strategy. Rather than designing a unified logic, we combine IL, which identifies reachable error states, with Sufficient Incorrectness Logic (SIL), which finds input states potentially leading to those errors. As a result, we get a more informative and effective analysis than either logic in isolation. 
Rather than sequencing them, our key innovation is reusing heuristic choices from the first analysis to steer the second. 
In fact, both IL and SIL rely on under-approximation and thus their automation legitimizes heuristics that avoid exhaustive path enumeration (e.g., selective disjunct pruning, loop unrolling). Concretely, we instrument the proof rules of the second logic with derivations from the first to inductively guide rule selection and application. 
To our knowledge, this is the first rule format enabling such inter-analysis instrumentation. 
This combined analysis aids debugging and testing by revealing both reachable errors and their causes, and opens new avenues for embedding incorrectness insights into scalable, expressive, automated code contracts.</dcterms:abstract>
    <dspace:isPartOfCollection rdf:resource="https://kops.uni-konstanz.de/server/rdf/resource/123456789/36"/>
    <bibo:uri rdf:resource="https://kops.uni-konstanz.de/handle/123456789/76136"/>
    <dc:contributor>Gori, Roberta</dc:contributor>
    <dc:creator>Bruni, Roberto</dc:creator>
    <dcterms:available rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2026-02-05T14:33:26Z</dcterms:available>
    <dc:contributor>Bruni, Roberto</dc:contributor>
    <dcterms:hasPart rdf:resource="https://kops.uni-konstanz.de/bitstream/123456789/76136/1/Ascari_2-1xq6kb0wop5tt6.pdf"/>
    <dc:contributor>Raad, Azalea</dc:contributor>
    <dcterms:issued>2026-01-08</dcterms:issued>
    <dc:creator>Ascari, Flavio</dc:creator>
    <dcterms:title>U-Turn: Enhancing Incorrectness Analysis by Reversing Direction</dcterms:title>
    <dcterms:isPartOf rdf:resource="https://kops.uni-konstanz.de/server/rdf/resource/123456789/36"/>
    <dc:date rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2026-02-05T14:33:26Z</dc:date>
    <dc:language>eng</dc:language>
    <dspace:hasBitstream rdf:resource="https://kops.uni-konstanz.de/bitstream/123456789/76136/1/Ascari_2-1xq6kb0wop5tt6.pdf"/>
  </rdf:Description>
</rdf:RDF>
kops.description.openAccessopenaccessgold
kops.flag.isPeerReviewedtrue
kops.flag.knbibliographytrue
kops.identifier.nbnurn:nbn:de:bsz:352-2-1xq6kb0wop5tt6
kops.sourcefieldProceedings of the ACM on Programming Languages. ACM. 2026, <b>10</b>(POPL), S. 1326-1352. eISSN 2475-1421. Verfügbar unter: doi: 10.1145/3776688deu
kops.sourcefield.plainProceedings of the ACM on Programming Languages. ACM. 2026, 10(POPL), S. 1326-1352. eISSN 2475-1421. Verfügbar unter: doi: 10.1145/3776688deu
kops.sourcefield.plainProceedings of the ACM on Programming Languages. ACM. 2026, 10(POPL), pp. 1326-1352. eISSN 2475-1421. Available under: doi: 10.1145/3776688eng
relation.isAuthorOfPublication0c59eb08-08c1-4e0a-9097-b41f3d89a2d0
relation.isAuthorOfPublication.latestForDiscovery0c59eb08-08c1-4e0a-9097-b41f3d89a2d0
source.bibliographicInfo.fromPage1326
source.bibliographicInfo.issuePOPL
source.bibliographicInfo.toPage1352
source.bibliographicInfo.volume10
source.identifier.eissn2475-1421
source.periodicalTitleProceedings of the ACM on Programming Languages
source.publisherACM

Dateien

Originalbündel

Gerade angezeigt 1 - 1 von 1
Vorschaubild nicht verfügbar
Name:
Ascari_2-1xq6kb0wop5tt6.pdf
Größe:
764.49 KB
Format:
Adobe Portable Document Format
Ascari_2-1xq6kb0wop5tt6.pdf
Ascari_2-1xq6kb0wop5tt6.pdfGröße: 764.49 KBDownloads: 11