1 Abstraction (Cont’d) Defining an Abstract Domain variable elimination, data abstraction, predicate abstraction Abstraction for Universal/Existential.

Slides:



Advertisements
Similar presentations
TWO STEP EQUATIONS 1. SOLVE FOR X 2. DO THE ADDITION STEP FIRST
Advertisements

1 Verification by Model Checking. 2 Part 1 : Motivation.
Path-Sensitive Analysis for Linear Arithmetic and Uninterpreted Functions SAS 2004 Sumit Gulwani George Necula EECS Department University of California,
Program Analysis using Random Interpretation Sumit Gulwani UC-Berkeley March 2005.
Bellwork If you roll a die, what is the probability that you roll a 2 or an odd number? P(2 or odd) 2. Is this an example of mutually exclusive, overlapping,
Inference in First-Order Logic
Advanced Piloting Cruise Plot.
Sugar 2.0 Formal Specification Language D ana F isman 1,2 Cindy Eisner 1 1 IBM Haifa Research Laboratory 1 IBM Haifa Research Laboratory 2 Weizmann Institute.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 5 Author: Julia Richards and R. Scott Hawley.
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 2.1 Chapter 2.
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
UNITED NATIONS Shipment Details Report – January 2006.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
Multiplying binomials You will have 20 seconds to answer each of the following multiplication problems. If you get hung up, go to the next problem when.
0 - 0.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
MULTIPLYING MONOMIALS TIMES POLYNOMIALS (DISTRIBUTIVE PROPERTY)
MULT. INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
FACTORING Think Distributive property backwards Work down, Show all steps ax + ay = a(x + y)
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Addition Facts
Dependency preservation, 3NF revisited and BCNF
Overview of Lecture Partitioning Evaluating the Null Hypothesis ANOVA
5. Model Checking Modellbasierte Softwareentwicklung
Dr. Alexandra I. Cristea CS 319: Theory of Databases: C3.
Dr. A.I. Cristea CS 319: Theory of Databases: FDs.
ZMQS ZMQS
PARIXIT PRASAD December 4, 2013 Parixit Prasad | CSA - IISC 1 Deciding Presburger Arithmetic Using Automata Department of Computer Science and Automaton.
BT Wholesale October Creating your own telephone network WHOLESALE CALLS LINE ASSOCIATED.
1 Verification of Parameterized Systems Reducing Model Checking of the Few to the One. E. Allen Emerson, Richard J. Trefler and Thomas Wahl Junaid Surve.
Tutorial 8, STAT1301 Fall 2010, 16NOV2010, By Joseph Dong.
ABC Technology Project
CHAPTER 6 Introduction to Graphing and Statistics Slide 2Copyright 2012, 2008, 2004, 2000 Pearson Education, Inc. 6.1Tables and Pictographs 6.2Bar Graphs.
© Charles van Marrewijk, An Introduction to Geographical Economics Brakman, Garretsen, and Van Marrewijk.
© Charles van Marrewijk, An Introduction to Geographical Economics Brakman, Garretsen, and Van Marrewijk.
Probability for a First-Order Language Ken Presting University of North Carolina at Chapel Hill.
Quadratic Inequalities
“Start-to-End” Simulations Imaging of Single Molecules at the European XFEL Igor Zagorodnov S2E Meeting DESY 10. February 2014.
Chapter 2 Section 3.
1 K  Convexity and The Optimality of the (s, S) Policy.
Squares and Square Root WALK. Solve each problem REVIEW:
Joint work with Andre Lieutier Dassault Systemes Domain Theory and Differential Calculus Abbas Edalat Imperial College Oxford.
Do you have the Maths Factor?. Maths Can you beat this term’s Maths Challenge?
Modal Logic with Variable Modalities & its Applications to Querying Knowledge Bases Evgeny Zolin The University of Manchester
© 2012 National Heart Foundation of Australia. Slide 2.
Abbas Edalat Imperial College London Contains joint work with Andre Lieutier (AL) and joint work with Marko Krznaric (MK) Data Types.
Chapter 5 Test Review Sections 5-1 through 5-4.
SIMOCODE-DP Software.
GG Consulting, LLC I-SUITE. Source: TEA SHARS Frequently asked questions 2.
Addition 1’s to 20.
25 seconds left…...
Complexity ©D.Moshkovits 1 Where Can We Draw The Line? On the Hardness of Satisfiability Problems.
11.2 Solving Quadratic Equations by Completing the Square
Week 1.
We will resume in: 25 Minutes.
Dantzig-Wolfe Decomposition
A SMALL TRUTH TO MAKE LIFE 100%
1 Unit 1 Kinematics Chapter 1 Day
PSSA Preparation.
How Cells Obtain Energy from Food
Yakir Vizel 1,2 and Orna Grumberg 1 1.Computer Science Department, The Technion, Haifa, Israel. 2.Architecture, System Level and Validation Solutions,
10.3 Simplifying Radical Expressions
1 Model Checking, Abstraction- Refinement, and Their Implementation Based on slides by: Orna Grumberg Presented by: Yael Meller June 2008.
3-Valued Abstraction and 3-Valued Model-Checking.
Formal Methods in software development
Formal Methods in software development
Presentation transcript:

1 Abstraction (Cont’d) Defining an Abstract Domain variable elimination, data abstraction, predicate abstraction Abstraction for Universal/Existential Properties over- and under-approximations  Abstraction for Mixed Properties  3-valued abstraction  Overlapping Abstract Domains  Belnap (4-valued) abstraction

2 Recall: Defining an Abstract Domain  Abstraction  : S→S’ S S’ γγγ γγ Concretization γ : S’→2 S

3 Abstract Kripke Structure  Abstract interpretation of atomic propositions  I ’(a, p) = true iff forall s in  (a), I (s, p) = true  I ’(a, p) = false iff forall s in  (a), I (s, p) = false  Abstract Transition Relation (2 choices)  Over-Approximation (Existential)  Make a transition from an abstract state if at least one corresponding concrete state has the transition.  Under-Approximation (Universal)  Make a transition from an abstract state if all the corresponding concrete states have the transition.

4 Which abstraction to use? Property Type Expected Result Abstraction to use Universal (ACTL, LTL) TrueOver- FalseUnder- Existential (ECTL) TrueUnder- FalseOver- But what about mixed properties?!

5 3-Valued Kleene Logic Information Ordering ⊥ f t true false unknown t ⋀ ⊥ = ⊥ t ⋁ ⊥ = t ¬ t = f ¬ ⊥ = ⊥ Truth Ordering ⊥ f t

6 3-Valued Kripke Structures p = t q = f p = f q = f p = t q = ⊥ t f ⊥  Kripke structures extended to 3- valued logic  Propositions can be  True, False, or Unknown  Transitions  possible: ⊥  necessary and possible: t  impossible: f s0s0 s2s2 s1s1 ⊥ t ⊥

7 3-Valued Abstraction p pqpq t f ⊥ p pqpq over-approximation under-approximation p pqpq 3-Valued Abstraction

8 Example Revisited (3-Val Abstraction) I I ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ t t t t

9 Model-Checking with 3 Values  Usual semantics of temporal operators  BUT connectives ⋀ ⋁ ¬ are interpreted in 3-Valued Logic t f ⊥ ( EX ¬p )(s 0 ) = t (EX q)(s 0 ) = ⊥ (EX ¬ p ⋀ q)(s 0 ) = f Examples s0s0 s2s2 s1s1 p pqpq (EX p)(s) = ⋁ t R(s,t) ⋀ p(t)

10 Preservation via 3-Valued Abstraction  Let φ be a temporal formula (CTL)  Let K’ be a 3-valued abstraction of K  Preservation Theorem Abstract MC Result Concrete Information True K ⊨ φ False K ⊨ ¬φ Maybe K ⊨ φ or K ⊨ ¬φ Preserves truth and falsity of arbitrary properties! no information

11 Abstraction (Outline) Defining an Abstract Domain variable elimination, data abstraction, predicate abstraction Abstraction for Universal/Existential Properties over- and under-approximations Abstraction for Mixed Properties 3-valued abstraction  Overlapping Abstract Domains  Belnap (4-valued) abstraction

12 Example: Coarse Abstract Domain s0s0 s1s1 s2s2 pqpq q s3s3 a0a0 a1a1 Over-ApproximationUnder-Approximation p? q a0a0 a1a1 p? q a0a0 a1a1 AX (p ⋁ ¬ p) is inconclusive EX (q) is true Goal: make AX conclusive as well, via domain refinement

13 Example: Refined Abstract Domain s0s0 s1s1 s2s2 pqpq q s3s3 a0a0 Over-ApproximationUnder-Approximation AX (p ⋁ ¬ p) is true EX (q) is inconclusive a2a2 a3a3 pqpq a0a0 a2a2 q a3a3 pqpq a0a0 a2a2 q a3a3 Partitioned domain does not work! Need an overlapping abstract domain!!!

14 Example: Overlapping Abstract Domain s0s0 s1s1 s2s2 pqpq q s3s3 a0a0 Over-ApproximationUnder-Approximation AX (p ⋁ ¬ p) is true EX (q) is true a2a2 a3a3 a1a1 pqpq a0a0 a2a2 q a3a3 p? q a1a1 pqpq a0a0 a2a2 q a3a3 p? q a1a1

15 Supporting Overlapping Abstract Domains  Goal  as before, want to combine over- and under- approximations to support analysis of mixed properties  Problem  3-valued logic is no longer sufficient  need to deal with 4 types of transitions  over-, under-, both over- and under-, and neither  i.e., under-approx is no longer a subset of over-approx  Solution  use 4-valued Belnap logic

16 Belnap Logic Information Ordering ⊤ ⊥ f t true false unknown inconsistent t ⋀ ⊥ = ⊥ t ⋁ ⊥ = t ¬ t = f ¬ ⊥ = ⊥ Truth Ordering ⊤⊥ f t

17 Belnap Kripke Structures f ⊥⊤  Kripke structures extended to Belnap logic  Propositions  True, False, or Unknown  Transitions  only under-approximation: ⊤  only over-approximation: ⊥  both over- and under-: t  neither: f p = t q = f p = f q = f p = t q = ⊥ p = t q = t t ⊥ ⊥ ⊤

18 Belnap Kripke Structures p p q? pqpq t f ⊥⊤ p pqpq p p q? Over-approximation Under-approximation

19 Overview of Model Checking Yes/No Answer Yes/No Answer SW/HW artifact SW/HW artifact Correctness properties Correctness properties Temporal logic Temporal logic Model of System Model of System Model Extraction Model Extraction Translation Model Checker Model Checker Correct? [CDEG03]

20 Yes/No Answer Yes/No Answer SW/HW artifact SW/HW artifact Correctness properties Correctness properties Temporal logic Temporal logic Model of System Model of System Model Extraction Model Extraction Translation Model Checker Model Checker MV-Logic Answer MV-Logic Answer MV-Model Checker MV-Model Checker How correct? [CDEG03] Overview of MV-Model Checking

21 Preservation via Belnap Abstraction  Let φ be a temporal formula (CTL)  Let K’ be a Belnap abstraction of K  Preservation Theorem Abstract MC Result Concrete Information True K ⊨ φ False K ⊨ ¬φ ⊥ K ⊨ φ or K ⊨ ¬φ ⊤ K ⊨ φ and K ⊨ ¬φ Preserves truth and falsity of arbitrary properties! Not possible for a sound abstraction

22 Summary Abstraction is the key to scaling up 1.Choose an abstract domain  Variable elimination, data abstraction, predicate abstraction, … 2.Choose a type of abstraction  Over-, Under-, 3Val, Belnap 3.Build an abstract model ($$$$$) 4.Model-check the property on the abstract model 5.If the result is conclusive, STOP 6.Otherwise, pick a new abstract domain, REPEAT

23 References  [DGG97] D. Dams, R. Gerth, and O. Grumberg, “Abstract Interpretation of Reactive Systems”. In TOPLAS, No. 19, Vol. 2, pp ,  [CDEG03] M. Chechik, B. Devereux, S. Easterbrook, and A. Gurfinkel, “Multi-Valued Symbolic Model-Checking”. In TOSEM, No. 4, Vol. 12, pp. 1-38, 2003.

24 Acknowledgements These slides are based on the tutorial “Model- Checking: From Software to Hardware” given by Marsha Chechik and Arie Gurfinkel at Formal Methods 2006.