Abstract Interpretation

Slides:



Advertisements
Similar presentations
1 A simple abstract interpreter to compute Sign s.
Advertisements

1 How to transform an analyzer into a verifier. 2 OUTLINE OF THE LECTURE a verification technique which combines abstract interpretation and Park’s fixpoint.
Chair of Software Engineering From Program slicing to Abstract Interpretation Dr. Manuel Oriol.
Formal Semantics of Programming Languages 虞慧群 Topic 5: Axiomatic Semantics.
Adding and Subtracting Integers
1 Basic abstract interpretation theory. 2 The general idea §a semantics l any definition style, from a denotational definition to a detailed interpreter.
Programming Language Semantics Axiomatic Semantics Chapter 6.
Correctness. Until now We’ve seen how to define dataflow analyses How do we know our analyses are correct? We could reason about each individual analysis.
5.2 The Integers. Whole Numbers The set of whole numbers contains the set of natural numbers and the number 0. Whole numbers = {0,1,2,3,4,…}
1 Systematic Domain Design Some Remarks. 2 Best (Conservative) interpretation abstract representation Set of states concretization Abstract semantics.
Prof. Aiken CS 294 Lecture 21 Abstract Interpretation Part 2.
Given Connections Solution
Goals of Factor Analysis (1) (1)to reduce the number of variables and (2) to detect structure in the relationships between variables, that is to classify.
1 Regular Expressions/Languages Regular languages –Inductive definitions –Regular expressions syntax semantics Not covered in lecture.
1 First order theories. 2 Satisfiability The classic SAT problem: given a propositional formula , is  satisfiable ? Example:  Let x 1,x 2 be propositional.
NS2. 1 Understand negative whole-number exponents
Multiplying Signed Numbers © Math As A Second Language All Rights Reserved next #9 Taking the Fear out of Math ×
Big Ideas Differentiation Frames with Icons. 1. Number Uses, Classification, and Representation- Numbers can be used for different purposes, and numbers.
Objective - To subtract integers. To subtract an integer is to add its opposite. a - b =a + -b = (-5) =8 + 5 = = 4 Rewrite the.
Lesson 6-3 Example Find the difference of 3 and –2. Use the number line. Step 1Write the subtraction expression. 3 – (–2)
Find the sum or difference. Then simplify if possible.
Application to the automatic extraction of circuit shapes Charles Hymans Modular analysis of a circuit description language by Abstract Interpretation.
Lesson 3-7 Dividing Integers Objective: To be able to divide positive and negative integers. Standard: Number Sense Indicator(s): N 5  Explain the meaning.
Multiplying and Dividing Signed Integers
Exponential and Logarithmic Equations
1 COMS 161 Introduction to Computing Title: Computing Basics Date: September 8, 2004 Lecture Number: 7.
MATHEMATICS 1 Foundations and Pre-Calculus Reasoning and analyzing Inductively and deductively reason and use logic to explore, make connections,
2.3 Multiplying Rational Numbers The product of numbers having the same sign is positive. The product of numbers having different signs is negative.
1 Iterative Program Analysis Abstract Interpretation Mooly Sagiv Tel Aviv University Textbook:
Which one of these answers is correct? Prove your answer!
Abstraction and Abstract Interpretation. Abstraction (a simplified view) Abstraction is an effective tool in verification Given a transition system, we.
Write the following decimals as a fraction: 1).152).2363).4915 Write the following fractions as a decimal: 1) 153/999 2) 23/993) 461/9999.
Lecture 34 Section 6.7 Wed, Mar 28, 2007
Multiplication Timed Tests.
Representing Positive and Negative Numbers
Section 2-4: Adding Integers using Rules

Pre-Algebra Review Quiz tomorrow!.
Bool operators and, or, not
Formal Language & Automata Theory
Multiplying and Dividing Signed Integers
2-4 Multiplying Integers
Combining Abstract Interpreters
Bell Ringer.
Bell Ringer.
Warm up 11/1/ X ÷ 40.
Solving 1-Step Integer Equations
Programming Goals CSCE 121 J. Michael Moore.
Lecture 5 Floyd-Hoare Style Verification
Integers (-3) + 5 = 2 (-9) + (-8) = -17 (-4) - (-9) = 5 (-2) – 10 =
פחת ורווח הון סוגיות מיוחדות תהילה ששון עו"ד (רו"ח) ספטמבר 2015
Multiplying Rational Numbers 2-3
التعلم بالإكتشاف المراجع:
5 × 7 = × 7 = 70 9 × 7 = CONNECTIONS IN 7 × TABLE
5 × 8 = 40 4 × 8 = 32 9 × 8 = CONNECTIONS IN 8 × TABLE
4 × 6 = 24 8 × 6 = 48 7 × 6 = CONNECTIONS IN 6 × TABLE
5 × 6 = 30 2 × 6 = 12 7 × 6 = CONNECTIONS IN 6 × TABLE
Bell Ringer.
Abstract Interpretation
Multiplying and Dividing Integers
10 × 8 = 80 5 × 8 = 40 6 × 8 = CONNECTIONS IN 8 × TABLE MULTIPLICATION.
3 × 12 = 36 6 × 12 = 72 7 × 12 = CONNECTIONS IN 12 × TABLE
Multiplying and Dividing Signed Integers
DIRECTED NUMBERS.
Multiplying and Dividing Signed Integers
5 × 12 = × 12 = × 12 = CONNECTIONS IN 12 × TABLE MULTIPLICATION.
Unit 3 The Unit Organizer Number Sense Understand ___________
5 × 9 = 45 6 × 9 = 54 7 × 9 = CONNECTIONS IN 9 × TABLE
3 × 7 = 21 6 × 7 = 42 7 × 7 = CONNECTIONS IN 7 × TABLE
Multiplying more than two integers
Presentation transcript:

Abstract Interpretation

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

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

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.

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.

Adding - Extend our language with unary -

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

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.

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

Examples Abstract computation loses information No loss of information