Evidence-Based Verification Li Tan Computer Science Department Stony Brook April 2002.

Slides:



Advertisements
Similar presentations
The Quest for Correctness Joseph Sifakis VERIMAG Laboratory 2nd Sogeti Testing Academy April 29th 2009.
Advertisements

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.
M ODEL CHECKING -Vasvi Kakkad University of Sydney.
Algorithmic Software Verification VII. Computation tree logic and bisimulations.
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Partial Order Reduction: Main Idea
Lecture 11: Datalog Tuesday, February 6, Outline Datalog syntax Examples Semantics: –Minimal model –Least fixpoint –They are equivalent Naive evaluation.
1 Model checking. 2 And now... the system How do we model a reactive system with an automaton ? It is convenient to model systems with Transition systems.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Justification-based TMSs (JTMS) JTMS utilizes 3 types of nodes, where each node is associated with an assertion: 1.Premises. Their justifications (provided.
ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
Game-theoretic approach to the simulation checking problem Peter Bulychev Vladimir Zakharov Lomonosov Moscow State University.
Agents That Reason Logically Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 7 Spring 2004.
SYMBOLIC MODEL CHECKING: STATES AND BEYOND J.R. Burch E.M. Clarke K.L. McMillan D. L. Dill L. J. Hwang Presented by Rehana Begam.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
ISBN Chapter 3 Describing Syntax and Semantics.
Review of topics Final exam : -May 2nd to May 7 th - Projects due on May 7th.
SAT and Model Checking. Bounded Model Checking (BMC) A.I. Planning problems: can we reach a desired state in k steps? Verification of safety properties:
Evidence-Based Verification Li Tan Computer Science Department Stony Brook Joint work with Rance Cleaveland Augest 2002.
CPSC 322, Lecture 19Slide 1 Propositional Logic Intro, Syntax Computer Science cpsc322, Lecture 19 (Textbook Chpt ) February, 23, 2009.
Complexity 11-1 Complexity Andrei Bulatov Space Complexity.
Weizmann Institute Deciding equality formulas by small domain instantiations O. Shtrichman The Weizmann Institute Joint work with A.Pnueli, Y.Rodeh, M.Siegel.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
1 Model Checking, Abstraction- Refinement, and Their Implementation Based on slides by: Orna Grumberg Presented by: Yael Meller June 2008.
Evidence-Based Verification Evidence-Based Model Checking Li Tan, Rance Cleaveland Presented by Arnab Ray Computer Science Department Stony Brook July.
1 Carnegie Mellon UniversitySPINFlavio Lerda SPIN An explicit state model checker.
Temporal Logic of Actions (TLA) Leslie Lamport
Witness and Counterexample Li Tan Oct. 15, 2002.
Evidence-Based Verification Li Tan Computer Science Department Stony Brook Joint work with Rance Cleaveland Nov
¹ -Calculus Based on: “Model Checking”, E. Clarke and O. Grumberg (ch. 6, 7) “Symbolic Model Checking: 10^20 States and Beyond”, Burch, Clark, et al “Introduction.
Review of the automata-theoretic approach to model-checking.
1 Coverage Metrics in Formal Verification Hana Chockler Hebrew University.
ESE601: Hybrid Systems Introduction to verification Spring 2006.
Witness and Counterexample Li Tan Oct. 15, 2002.
System Design Research Laboratory Specification-based Testing with Linear Temporal Logic Li Tan Oleg Sokolsky Insup Lee University of Pennsylvania.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
1 3rd of July 2009 CEA LIST Symbolic execution based model checking of open systems with unbounded variables Nicolas RAPIN CEA LIST.
Propositional Calculus Math Foundations of Computer Science.
Propositional Calculus CS 680: Formal Methods in Verification Computer Systems Jeremy Johnson.
1 Carnegie Mellon UniversitySPINFlavio Lerda Bug Catching SPIN An explicit state model checker.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
1 Introduction to SMV and Model Checking Mostly by: Ken McMillan Cadence Berkeley Labs Small parts by: Brandon Eames ISIS/Vanderbilt.
Systems Architecture I1 Propositional Calculus Objective: To provide students with the concepts and techniques from propositional calculus so that they.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Languages of nested trees Swarat Chaudhuri University of Pennsylvania (with Rajeev Alur and P. Madhusudan)
Automatic Verification of Finite-State Concurrent Systems Using Temporal Logic Specifications 1.
On Reducing the Global State Graph for Verification of Distributed Computations Vijay K. Garg, Arindam Chakraborty Parallel and Distributed Systems Laboratory.
Slide 1 Propositional Definite Clause Logic: Syntax, Semantics and Bottom-up Proofs Jim Little UBC CS 322 – CSP October 20, 2014.
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
Lecture 81 Optimizing CTL Model checking + Model checking TCTL CS 5270 Lecture 9.
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
Chapter 3 Part II Describing Syntax and Semantics.
1 Parallel Model Checking Game for CTL Lecture 6 – Lecturer: Orna Grumberg.
May University of Glasgow Generalising Feature Interactions in Muffy Calder, Alice Miller Dept. of Computing Science University of Glasgow.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Formal verification -
Verification & Validation By: Amir Masoud Gharehbaghi
1 Symmetry Symmetry Chapter 14 from “Model Checking” by Edmund M. Clarke Jr., Orna Grumberg, and Doron A. Peled presented by Anastasia Braginsky March.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 9, 2003.
1 Temporal logic. 2 Prop. logic: model and reason about static situations. Example: Are there truth values that can be assigned to x,y simultaneously.
Model Checking Lecture 1. Model checking, narrowly interpreted: Decision procedures for checking if a given Kripke structure is a model for a given formula.
Program Correctness. The designer of a distributed system has the responsibility of certifying the correctness of the system before users start using.
Variants of LTL Query Checking Hana ChocklerArie Gurfinkel Ofer Strichman IBM Research SEI Technion Technion - Israel Institute of Technology.
Model Checking Lecture 1: Specification Tom Henzinger.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Complexity of Compositional Model Checking of Computation Tree Logic on Simple Structures Krishnendu Chatterjee Pallab Dasgupta P.P. Chakrabarti IWDC 2004,
CENG 424-Logic for CS Introduction Based on the Lecture Notes of Konstantin Korovin, Valentin Goranko, Russel and Norvig, and Michael Genesereth.
Formal methods: Lecture
Propositional Calculus: Boolean Algebra and Simplification
Alternating tree Automata and Parity games
Introduction to verification
Presentation transcript:

Evidence-Based Verification Li Tan Computer Science Department Stony Brook April 2002

Evidence-Based Verification Outline 1. Part I: Evidence-based verification. 1. Motivations. 2. The general framework. 3. Applications. 2. Part II: Evidence-based model checking 1. Checker-independent evidence for model checking. 2. Extracting the evidence from existing model checkers. 3. Post-model-checking analyses based on the evidence. 1. Efficiently certifying model-checking Result. 2. Constructing winning strategy for model-checking game. 3. Evaluating the quality of model-checking process. 4. A prototype on the Concurrency Workbench (CWB-NC).

Evidence-Based Verification Verification Automatic verification: whether or not a transition system satisfies a property. Successful Applications (in Stony Brook alone): Checking communication protocol, Mechanical Design, Medical Device, Anti- Block Braking System, etc. Verification algorithm (Checker) works as a decision procedure for the problem. "Yes/No" may not satisfy users. Why does my design go wrong? Could my design satisfy property trivially? Can I trust the verification result?

Evidence-Based Verification Problems with Traditional Diagnostic Generation Diagnosis is about understanding the result, A diagnostic routine may, Perform its own reasoning. Reuse the proof already computed by a checker. Diagnostic routine is tightly geared to the structure of checkers. Implementation requires the understanding of checkers. Migrating a diag. routine onto another checker often requires major changes on both diag. routine and checker. Proof used for one diagnostic schema may not be used for a different schema. No additional checking on verificaton result.

Evidence-Based Verification Checker 1Checker n Verifier Diagnostic Schema 1 Invalid Proof Checker 2 Diagnostic Schema 2 Diagnostic Schema m … … Portable Proof of Correctness Let the result carry its own proof

Evidence-Based Verification The General Framework Defining Abstract Proof Structures(APS) as portable evidence. APS encodes the proof structures of different checkers in a standard form. APS carries the evidence to justify the result. Extracting APS from existing checkers. Utilizing APS to perform diagnoses. Certifying verification result. Generating diagnostic information. Evaluating the quality of verification process.

Evidence-Based Verification Requirements APS can be extracted from existing checkers. The extraction should not affect the complexities of checkers. The consistency of APS should be verified efficiently. The time and space complexities of certifying APS should not exceed the complexities of checkers producing them. A variety of diagnoses can be performed using APS. APS should be defined for three major approaches for verification: model checking, equivalence checking, and preordering checking.

Evidence-Based Verification Evidence Model Checking: a Sub-framework Background of model checking. T ²  T is modeled as a Kripke structure T= S is the set of states with the starting state s I 2 S. ! µ S £ S is the transition relation. V: A ! 2 S is an evaluation for atomic propositions.  is encoded in some temporal logic. CTL AG(a ) AF b) Model-checking problem can be encoded as a Boolean equation system

Evidence-Based Verification Fixpoint Equation System: Syntax Given a set of variables X and a complete lattice {H, <},  i 2 { , } is a (least, greatest) fixpoint operator. f i : H X ! H is monotonic.  2 H X is an environment for E. {H X, ½ }is a complete lattice.  [X/h] maps X 2 X to h 2 H. Denote E (k) for the tail of E starting from k th equation.

Evidence-Based Verification Equation System: Semantics [ E ]: H X ! H X is a function on environments

Evidence-Based Verification

Boolean (Fixpoint) Equation System Syntax, H={ {0, 1},< } is the Boolean lattice H.  2 2 X can be viewed as a set. E is closed if X 2 X i also appears as a left side variable. [ E ](  1 )=[ E ](  2 ) for any  1,  2 2 H X. Denote [ E ] for [ E ](  ) [ E ](X) assigns X a Boolean value.

Evidence-Based Verification Model Checking via BES BES E = Kripke structure T+ Property  E is closed. A variable X in BES stands for $ h s,  ’ i $. [ E ](X)=1 iff s ² T . Many checkers (implicitly) construct BESs. For  -calculus checker, BES=T+  -calculus. For automaton-based checker, BES= parity automaton. E can be constructed on-the-fly.

Evidence-Based Verification Evaluating Equation System: an Example

Evidence-Based Verification Support Set

Evidence-Based Verification Support Set (Continue) By (a) and (b), support set implies a fixpoint solution for E. By (c), support set respects the definition of least/or greatest fixpoints. If r=1, no bad loop on. If r=0, no good loop on. Theorem 1 [TanCle02] Let  = be a support set for E, then [ E ](X)=r.

Evidence-Based Verification Extracting Support Set The extraction is, practical. Support sets can be extracted from a wide range of existing checkers, Boolean-Graph algorithm [And92], Linear Alternation- Free algorithms[CleSte91], On-the-fly algorithms for full  -calculus LAFP [LRS98] and SLP [TanCle02b], Automaton-based model checkers([BhaCle96a] and [KVW00]). efficient. The overhead doesn't exceed the original complexities of these checkers. simply. It only need have dependency relations recorded.

Evidence-Based Verification Application I: Certifying model-checking results Checking (a) and (b) can be done in linear time. Checking (c) can be reduced to even- loop problem (a nlogn problem[KKV01]). Model checking is a NP Å co-NP problem [EmeJutSis93]. The cost of certifying results < The cost of model checking.

Evidence-Based Verification Application II: model-checking game Semantics: decide [ E ](X 0 ) for E Two players: I (asserting [ E ](X 0 )=0) and II (asserting [ E ](X 0 )=1) A play is a sequence  =X p0 X p1  such that X p0 =X 0 and if, (  pi X pi = ÇX ’ ) 2 E, then II chooses X pi+1 2 X ' (  pi X pi = ÆX ’ ) 2 E, then I chooses X pi+1 2 X ’ II wins  iff, It's I's turn but I has no choice ( X '= ; ), or, The shallowest variable being visited infinitely often by  is a -variable.

Evidence-Based Verification MC Game as a Diagnostic Routine MC game is a fair game. ([ E ])(X 0 )=1 ) II has a winning strategy. ([ E ])(X 0 )=0 ) I has a winning strategy. Two physical players: computer and user. When the model-checking result is, Yes ) The computer plays as II while the user as I. No ) The computer plays as I while the user as II. The user is always a loser if the MC result is correct and the computer uses the right strategy.

Evidence-Based Verification Constructing Winning Strategy for Computer Given h r, X 0,  i as a support set for E The computer will keep the play  =X p0 X p1  proceeding within support set: If r=1 and  pi X pi = ÇX ’, then the computer (as II) chooses X pi+1 2 (  (X pi ) Å X '). If r=0 and  pi X pi = ÆX ’, then the computer (as I) chooses X pi+1 2 (  (X pi ) Å X '). The strategy is feasible:  (X pi ) is defined whenever X pi is the computer’s turn. The strategy is a winning strategy for the computer.

Evidence-Based Verification Evaluating Equation System: an Example

Evidence-Based Verification Application III: Evaluate the quality of MC A positive result may hide the problem T may pass AG(a ) AF b) trivially because a never occurs in T. Is there the status of a state (Minicoverage [CKV01]) or a subformula (Vacuity [KV99]) irrelevant to the result? Coverage problem of support set. Has support set covered all the states and properties?

Evidence-Based Verification A Prototype on CWB-NC

Evidence-Based Verification Conclusion C heckers produce abstract proof structures as evidence. APS is independent of checker. Extracting APS won't affect the complexities of checkers. APS justifies the correctness of result. APs attests to the quality of verification. A wide range of diagnostic information can be built on this evidence. APSs are defined for Model checking, Equiv. checking, and Preordering Checking.