Limits and Difficulties in the Design of Under-Approximation Abstract Domains

dc.contributor.authorAscari, Flavio
dc.contributor.authorBruni, Roberto
dc.contributor.authorGori, Roberta
dc.date.accessioned2026-02-05T10:55:01Z
dc.date.available2026-02-05T10:55:01Z
dc.date.issued2024-09-30
dc.description.abstractThe main goal of most static analyses is to prove the absence of bugs: if the analysis reports no alarms, then the program will not exhibit any unwanted behaviours. For this reason, they are designed to over-approximate program behaviours and, consequently, they can report some false alarms. O’Hearn’s recent work on incorrectness has renewed the interest in the use of under-approximations for bug finding, because they only report true alarms. In principle, Abstract Interpretation techniques can handle under-approximations as well as over-approximations, but, in practice, few attempts were developed for the former, notwithstanding the much wider literature on the latter. In this article, we investigate the possibility of exploiting under-approximation abstract domains for bug-finding analyses. First we restrict to consider concrete powerset domains and highlight some intuitive asymmetries between over- and under-approximations. Then, we prove that the effectiveness of abstract domains defined by under-approximation Galois connection is limited because the analysis is likely to return trivial results whenever common transfer functions are encoded in the program. To this aim, we introduce the original concepts of non-emptying functions and highly surjective function family, and we prove the nonexistence of abstract domains able to under-approximate such functions in a non-trivial way. We show many examples of finite and infinite numerical domains, as well as other generic domains. In all such cases, we prove the impossibility of performing non-trivial analyses via under-approximation Galois connections.
dc.description.versionpublisheddeu
dc.identifier.doi10.1145/3666014
dc.identifier.ppn1961784173
dc.identifier.urihttps://kops.uni-konstanz.de/handle/123456789/76129
dc.language.isoeng
dc.rightsAttribution-ShareAlike 4.0 International
dc.rights.urihttp://creativecommons.org/licenses/by-sa/4.0/
dc.subject.ddc004
dc.titleLimits and Difficulties in the Design of Under-Approximation Abstract Domainseng
dc.typeJOURNAL_ARTICLE
dspace.entity.typePublication
kops.citation.bibtex
@article{Ascari2024-09-30Limit-76129,
  title={Limits and Difficulties in the Design of Under-Approximation Abstract Domains},
  year={2024},
  doi={10.1145/3666014},
  number={3},
  volume={46},
  issn={0164-0925},
  journal={ACM Transactions on Programming Languages and Systems},
  author={Ascari, Flavio and Bruni, Roberto and Gori, Roberta},
  note={Article Number: 11}
}
kops.citation.iso690ASCARI, Flavio, Roberto BRUNI, Roberta GORI, 2024. Limits and Difficulties in the Design of Under-Approximation Abstract Domains. In: ACM Transactions on Programming Languages and Systems. ACM. 2024, 46(3), 11. ISSN 0164-0925. eISSN 1558-4593. Verfügbar unter: doi: 10.1145/3666014deu
kops.citation.iso690ASCARI, Flavio, Roberto BRUNI, Roberta GORI, 2024. Limits and Difficulties in the Design of Under-Approximation Abstract Domains. In: ACM Transactions on Programming Languages and Systems. ACM. 2024, 46(3), 11. ISSN 0164-0925. eISSN 1558-4593. Available under: doi: 10.1145/3666014eng
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/76129">
    <dc:creator>Ascari, Flavio</dc:creator>
    <dc:creator>Bruni, Roberto</dc:creator>
    <dcterms:abstract>The main goal of most static analyses is to prove the absence of bugs: if the analysis reports no alarms, then the program will not exhibit any unwanted behaviours. For this reason, they are designed to over-approximate program behaviours and, consequently, they can report some false alarms. O’Hearn’s recent work on incorrectness has renewed the interest in the use of under-approximations for bug finding, because they only report true alarms. In principle, Abstract Interpretation techniques can handle under-approximations as well as over-approximations, but, in practice, few attempts were developed for the former, notwithstanding the much wider literature on the latter. In this article, we investigate the possibility of exploiting under-approximation abstract domains for bug-finding analyses. First we restrict to consider concrete powerset domains and highlight some intuitive asymmetries between over- and under-approximations. Then, we prove that the effectiveness of abstract domains defined by under-approximation Galois connection is limited because the analysis is likely to return trivial results whenever common transfer functions are encoded in the program. To this aim, we introduce the original concepts of non-emptying functions and highly surjective function family, and we prove the nonexistence of abstract domains able to under-approximate such functions in a non-trivial way. We show many examples of finite and infinite numerical domains, as well as other generic domains. In all such cases, we prove the impossibility of performing non-trivial analyses via under-approximation Galois connections.</dcterms:abstract>
    <foaf:homepage rdf:resource="http://localhost:8080/"/>
    <bibo:uri rdf:resource="https://kops.uni-konstanz.de/handle/123456789/76129"/>
    <dc:rights>Attribution-ShareAlike 4.0 International</dc:rights>
    <dcterms:issued>2024-09-30</dcterms:issued>
    <void:sparqlEndpoint rdf:resource="http://localhost/fuseki/dspace/sparql"/>
    <dcterms:title>Limits and Difficulties in the Design of Under-Approximation Abstract Domains</dcterms:title>
    <dc:creator>Gori, Roberta</dc:creator>
    <dc:contributor>Gori, Roberta</dc:contributor>
    <dc:date rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2026-02-05T10:55:01Z</dc:date>
    <dc:contributor>Bruni, Roberto</dc:contributor>
    <dcterms:available rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2026-02-05T10:55:01Z</dcterms:available>
    <dc:language>eng</dc:language>
    <dspace:hasBitstream rdf:resource="https://kops.uni-konstanz.de/bitstream/123456789/76129/1/Ascari_2-1e5flqs9pb6l08.pdf"/>
    <dc:contributor>Ascari, Flavio</dc:contributor>
    <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:hasPart rdf:resource="https://kops.uni-konstanz.de/bitstream/123456789/76129/1/Ascari_2-1e5flqs9pb6l08.pdf"/>
    <dcterms:rights rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/"/>
  </rdf:Description>
</rdf:RDF>
kops.description.openAccessopenaccesshybrid
kops.flag.isPeerReviewedunknown
kops.flag.knbibliographyfalse
kops.identifier.nbnurn:nbn:de:bsz:352-2-1e5flqs9pb6l08
kops.sourcefieldACM Transactions on Programming Languages and Systems. ACM. 2024, <b>46</b>(3), 11. ISSN 0164-0925. eISSN 1558-4593. Verfügbar unter: doi: 10.1145/3666014deu
kops.sourcefield.plainACM Transactions on Programming Languages and Systems. ACM. 2024, 46(3), 11. ISSN 0164-0925. eISSN 1558-4593. Verfügbar unter: doi: 10.1145/3666014deu
kops.sourcefield.plainACM Transactions on Programming Languages and Systems. ACM. 2024, 46(3), 11. ISSN 0164-0925. eISSN 1558-4593. Available under: doi: 10.1145/3666014eng
relation.isAuthorOfPublication0c59eb08-08c1-4e0a-9097-b41f3d89a2d0
relation.isAuthorOfPublication.latestForDiscovery0c59eb08-08c1-4e0a-9097-b41f3d89a2d0
source.bibliographicInfo.articleNumber11
source.bibliographicInfo.issue3
source.bibliographicInfo.volume46
source.identifier.eissn1558-4593
source.identifier.issn0164-0925
source.periodicalTitleACM Transactions on Programming Languages and Systems
source.publisherACM

Dateien

Originalbündel

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