a proof theoretic approach to abstract interpretation
play

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


  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

  2. A bstract interpretation

  3. A bstract interpretation

  4. A bstract interpretation

  5. S ome 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 P ( Z ) ⊤ α ⊥ Odd Even γ ⊥ and let γ : ( A , ⊑ , ⊔ , ⊓ , ∼ ) → ( P ( Z ) , ⊆ , ∪ , ∩ , ¬ ) be such that γ ( ⊤ ) = Z γ ( Even ) = { 2 a ∈ Z | a ∈ Z } γ ( ⊥ ) = ∅ γ ( Odd ) = { 2 a + 1 ∈ Z | a ∈ Z }

  6. S ome 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 P ( Z ) ⊤ α ⊥ Neg Zero Pos γ ⊥

  7. S ome 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 P ( Z ) ⊤ α N-Neg N-Pos ⊥ Zero Pos γ ⊥

  8. A im 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.

  9. T he 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 of ( 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 )) .

  10. L ogic and L attices

  11. A general recipe Assume that | Var | = 1. We will generate a logic corresponding to a finite abstraction A = ( A , ⊑ , Op A ) with concretization γ : A → ( P ( Struct ) , ⊆ , Op c ) . 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 L A 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 ) .

  12. S ome R esults Let L be the Lindenbaum-Tarski algebra of L A . L emma The logic L A is sound w.r.t. the concretization. L emma The algebra L is isomorphic to A . L emma If γ is an order-embedding, then L A is complete w.r.t. the concretization.

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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend