DE eng

Search in the Catalogues and Directories

Hits 1 – 1 of 1

1
Semantic-Directed Clumping of Disjunctive Abstract States *
In: POPL 2017 - 44th ACM SIGPLAN Symposium on Principles of Programming Languages ; https://hal.inria.fr/hal-01648679 ; POPL 2017 - 44th ACM SIGPLAN Symposium on Principles of Programming Languages, Jan 2017, Paris, France. pp.32-45, ⟨10.1145/3009837.3009881⟩ (2017)
Abstract: International audience ; To infer complex structural invariants, shape analyses rely on expressive families of logical properties. Many such analyses manipulate abstract memory states that consist of separating conjunctions of basic predicates describing atomic blocks or summaries. Moreover, they use finite disjunctions of abstract memory states in order to account for dissimilar shapes. Disjunctions should be kept small for scalability, though precision often requires keeping additional case splits. In this context, deciding when and how to merge case splits and to replace them with summaries is critical both for precision and efficiency. Existing techniques use sets of syntactic rules, which are tedious to design and prone to failure. In this paper, we design a semantic criterion to clump abstract states based on their silhouette, which applies not only to the conservative union of disjuncts but also to the weakening of separating conjunctions of memory predicates into inductive summaries. Our approach allows us to define union and widening operators that aim at preserving the case splits that are required for the analysis to succeed. We implement this approach in the MemCAD analyzer and evaluate it on real-world C codes from existing libraries dealing with doubly-linked lists, red-black trees, AVL-trees and splay-trees.
Keyword: [INFO.INFO-PL]Computer Science [cs]/Programming Languages [cs.PL]; abstract interpretation; clumping of disjuncts; disjunctions; heap abstraction; Semantics of Programming Languages-Program analysis; separation logics; silhouette; Software/Program Verification; Specifying and Verifying and Reasoning about Programs
URL: https://doi.org/10.1145/3009837.3009881
https://hal.inria.fr/hal-01648679/file/popl17.pdf
https://hal.inria.fr/hal-01648679/document
https://hal.inria.fr/hal-01648679
BASE
Hide details

Catalogues
0
0
0
0
0
0
0
Bibliographies
0
0
0
0
0
0
0
0
0
Linked Open Data catalogues
0
Online resources
0
0
0
0
Open access documents
1
0
0
0
0
© 2013 - 2024 Lin|gu|is|tik | Imprint | Privacy Policy | Datenschutzeinstellungen ändern