A proof - theoretic approach to abstract interpretation Apostolos - - PowerPoint PPT Presentation

a proof theoretic approach to abstract interpretation
SMART_READER_LITE
LIVE PREVIEW

A proof - theoretic approach to abstract interpretation Apostolos - - PowerPoint PPT Presentation

A proof - theoretic approach to abstract interpretation Apostolos Tzimoulis joint work with Vijay DSilva, Alessandra Palmigiano and Caterina Urban (with images from Patrick Cousot) TACL 2017 - Prague A bstract interpretation A bstract


slide-1
SLIDE 1

A proof-theoretic approach to abstract interpretation

Apostolos Tzimoulis

joint work with Vijay D’Silva, Alessandra Palmigiano and Caterina Urban

(with images from Patrick Cousot)

TACL 2017 - Prague

slide-2
SLIDE 2

Abstract interpretation

slide-3
SLIDE 3

Abstract interpretation

slide-4
SLIDE 4

Abstract interpretation

slide-5
SLIDE 5

Some examples

A program produces an integer as output. The concrete domain of the outcomes will be P(Z). The abstraction of the program output is ⊤

Even Odd

P(Z) ⊥ γ α

and let γ : (A, ⊑, ⊔, ⊓, ∼) → (P(Z), ⊆, ∪, ∩, ¬) be such that

γ(⊤) = Z γ(Even) = {2a ∈ Z | a ∈ Z} γ(⊥) = ∅ γ(Odd) = {2a + 1 ∈ Z | a ∈ Z}

slide-6
SLIDE 6

Some examples

A program produces an integer as output. The concrete domain of the outcomes will be P(Z). The abstraction of the program output is ⊤

Neg Zero Pos

P(Z) ⊥ γ α

slide-7
SLIDE 7

Some examples

A program produces an integer as output. The concrete domain of the outcomes will be P(Z). The abstraction of the program output is ⊤

N-Pos N-Neg Zero Pos

P(Z) ⊥ γ α

slide-8
SLIDE 8

Aim of the project

◮ Make the role of logic explicit (c.f Schmidt 2008, d’Silva Urban

2016).

◮ Apply the logical insights to develop a unifying framework for

these phenomena.

◮ Explore how far can we go.

slide-9
SLIDE 9

The formalities

◮ Let Var be a set of variables. A structure is a function

σ : Var → S (where S is a set, e.g. Z).

◮ The structure (P(Struc), ⊆) is called concrete algebra. ◮ Let A = (A, ⊑) be a bounded lattice. ◮ Concretization: A monotone function γ : A → (P(Struc), ⊆)

that preserves maximum and minimum.

◮ If a concretization exists then we say that A is an abstraction

  • f (P(Struc), ⊆).

◮ A transformer g : A → A is a sound abstraction of

f : P(Struct) → P(Struct) if for all a ∈ A f(γ(a)) ⊆ γ(g(a)).

slide-10
SLIDE 10

Logic and Lattices

slide-11
SLIDE 11
slide-12
SLIDE 12

A general recipe

Assume that |Var| = 1. We will generate a logic corresponding to a finite abstraction A = (A, ⊑, OpA) with concretization

γ : A → (P(Struct), ⊆, Opc).

  • 1. The logical connectives of the language will be the

connectives preserved by γ.

  • 2. for every point a ∈ A we add a unary predicate symbol a(x) to

the language;

  • 3. for every connective that is preserved by γ we add the

introduction rules appropriate to that connective in the proof system;

  • 4. for every binary connective ⋆ in LA such that a ⋆ b = c, we

add a rule corresponding to the axiom a(x) ⋆ b(x) ⊣⊢ c(x) in the proof system;

  • 5. for every unary connective ⋆ such that ⋆a = b, we add a rule

corresponding to the axiom ⋆a(x) ⊣⊢ b(x).

  • 6. for all predicates a(x) and b(x) such that a ≤ b, we add a rule

corresponding to the axiom a(x) ⊢ b(x).

slide-13
SLIDE 13

Some Results

Let L be the Lindenbaum-Tarski algebra of LA.

Lemma

The logic LA is sound w.r.t. the concretization.

Lemma

The algebra L is isomorphic to A.

Lemma

If γ is an order-embedding, then LA is complete w.r.t. the concretization.

slide-14
SLIDE 14

Some Questions

◮ Cartesian abstractions with many-variable. ◮ Categories: Can we use the duality to help us? ◮ Modalities: Abstract transformers.