An abstract domain for trees with numeric relations

Abstract : We present an abstract domain able to infer invariants on programs manipulating trees. Trees considered in the article are defined over a finite alphabet and can contain unbounded numeric values at their leaves. Our domain can infer the possible shapes of the tree values of each variable and find numeric relations between: the values at the leaves as well as the size and depth of the tree values of different variables. The abstract domain is described as a product of (1) a symbolic domain based on a tree automata representation and (2) a numerical domain lifted, for the occasion, to describe numerical maps with potentially infinite and heterogeneous definition set. In addition to abstract set operations and widening we define concrete and abstract transformers on these environments. We present possible applications, such as the ability to describe memory zones, or track symbolic equalities between program variables. We implemented our domain in a static analysis platform and present preliminary results analyzing a tree-manipulating toy-language.
Document type :
Conference papers
Complete list of metadatas

Cited literature [29 references]  Display  Hide  Download

https://hal.archives-ouvertes.fr/hal-02197107
Contributor : Matthieu Journault <>
Submitted on : Tuesday, July 30, 2019 - 9:57:00 AM
Last modification on : Friday, August 2, 2019 - 2:54:14 AM

File

article.pdf
Files produced by the author(s)

Identifiers

Citation

Matthieu Journault, Antoine Miné, Abdelraouf Ouadjaout. An abstract domain for trees with numeric relations. ESOP 2019 - 28th European Symposium on Programming, Apr 2019, Prague, Czech Republic. pp.724-751, ⟨10.1007/978-3-030-17184-1_26⟩. ⟨hal-02197107⟩

Share

Metrics

Record views

33

Files downloads

16