Evidence-Based Verification Evidence-Based Model Checking Li Tan, Rance Cleaveland Presented by Arnab Ray Computer Science Department Stony Brook July.

Slides:



Advertisements
Similar presentations
Brief Introduction to Logic. Outline Historical View Propositional Logic : Syntax Propositional Logic : Semantics Satisfiability Natural Deduction : Proofs.
Advertisements

Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
Problems and Their Classes
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Translation-Based Compositional Reasoning for Software Systems Fei Xie and James C. Browne Robert P. Kurshan Cadence Design Systems.
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:
Abstraction and Modular Reasoning for the Verification of Software Corina Pasareanu NASA Ames Research Center.
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.
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
Data Abstraction II SWE 619 Software Construction Last Modified, Spring 2009 Paul Ammann.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Axiomatic Semantics.
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.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
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.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
1 Model Checking, Abstraction- Refinement, and Their Implementation Based on slides by: Orna Grumberg Presented by: Yael Meller June 2008.
Lecture 4&5: Model Checking: A quick introduction Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Property-Based Test Generation Li Tan, Oleg Sokolsky, and Insup Lee University of Pennsylvania.
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
Analysis of Algorithms CS 477/677
A Type System for Expressive Security Policies David Walker Cornell University.
Review of the automata-theoretic approach to model-checking.
1 Coverage Metrics in Formal Verification Hana Chockler Hebrew University.
System Design Research Laboratory Model-based Testing and Monitoring for Hybrid Embedded Systems Li Tan Jesung Kim Oleg Sokolsky Insup Lee University of.
Witness and Counterexample Li Tan Oct. 15, 2002.
Evidence-Based Verification Li Tan Computer Science Department Stony Brook April 2002.
Describing Syntax and Semantics
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.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
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)
Chapter 3 (Part 3): Mathematical Reasoning, Induction & Recursion  Recursive Algorithms (3.5)  Program Correctness (3.6)
© by Kenneth H. Rosen, Discrete Mathematics & its Applications, Sixth Edition, Mc Graw-Hill, 2007 Chapter 4 (Part 3): Mathematical Reasoning, Induction.
Introduction Algorithms and Conventions The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
Introduction to Problem Solving. Steps in Programming A Very Simplified Picture –Problem Definition & Analysis – High Level Strategy for a solution –Arriving.
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.
Verification & Validation By: Amir Masoud Gharehbaghi
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
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.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Certifying and Synthesizing Membership Equational Proofs Patrick Lincoln (SRI) joint work with Steven Eker (SRI), Jose Meseguer (Urbana) and Grigore Rosu.
Complexity of Compositional Model Checking of Computation Tree Logic on Simple Structures Krishnendu Chatterjee Pallab Dasgupta P.P. Chakrabarti IWDC 2004,
NP-Completeness Yin Tat Lee
Propositional Calculus: Boolean Algebra and Simplification
Alternating tree Automata and Parity games
Presentation transcript:

Evidence-Based Verification Evidence-Based Model Checking Li Tan, Rance Cleaveland Presented by Arnab Ray Computer Science Department Stony Brook July 2002

Evidence-Based Verification Outline 1. Motivations. 2. Checker-independent evidence for model checking. 3. Post-model-checking analyses based on the evidence. 1. Efficiently certifying model-checking Result. 2. Generating diagnostic information. 3. Evaluating the quality of model-checking process. 4. A prototype on the Concurrency Workbench (CWB- NC).

Evidence-Based Verification Model Checking Model Checking: whether or not a transition system satisfies a temporal property. Model 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, or, 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 model-checking result.

Evidence-Based Verification Evidence-Based Model Checking 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 an abstract proof structures(APS) as checker- independent 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 Searching for APS APS should be extracted from existing checkers. The extraction should not affect the complexities of checkers. The consistency of APS should be verified efficiently. The complexities of certifying APS should not exceed the complexities of checkers producing it. APS should be abstract enough to save the space APS should be rich enough for supporting a variety of diagnoses.

Evidence-Based Verification Introducing APS by case study

Evidence-Based Verification Boolean Equation System=System + Temporal Property E=  +T:

Evidence-Based Verification Boolean Equation System=System + Temporal Property E=  +T:

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 Furture Work I: A Client-Server Model for Verification Server: checkers. There are many formulations for the input Support sets help standardize the output. Client: user interface, diagnostic generation, and evidence-verifier. Design Systems and Properties Abstract Proof Structures

Evidence-Based Verification Future Work II: Proof-Carrying Code Mobile code [Nec97] carries its own proof attesting to its safeness. Currently compilers are modified to produce the proof for a predefined set of safety rules. Integrate support-set-ready model checkers with compilers. Certifying compiler enjoy the richness of temporal logics.

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.