1 / 10

Abstract Interpretation

Explore an abstract semantics for a language with integers and multiplication, focusing on the computation of signs. This abstraction is sound and correctly predicts the sign of expressions. The language is then extended to include unary "-" and addition, with the challenge of finding a domain closed under all abstract operations.

dfearn
Download Presentation

Abstract Interpretation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Abstract Interpretation

  2. A Tiny Language • Consider a language with only integers and multiplication.

  3. An Abstraction • Define an abstract semantics that computes only the sign of the result.

  4. Soundness • We can show that this abstraction is correct in the sense that it correctly predicts the sign of an expression. • Proof is by structural induction on e.

  5. Abstract Interpretation • This is an abstract interpretation. • Computation in an abstract domain • In this case {+,0,-}. • The abstract semantics is sound • approximates the standard semantics. • The concretization function establishes the connection between the two domains.

  6. Adding - • Extend our language with unary -

  7. Adding + • Adding addition is not so easy. • The abstract values are not closed under addition.

  8. Solution • We need another abstract value to represent a result that can be any integer. • Finding a domain closed under all the abstract operations is often a key design problem.

  9. Extending Other Operations • We also need to extend the other abstract operations to work with T.

  10. Examples Abstract computation loses information No loss of information

More Related